|
楼主 |
发表于 2025-1-24 16:56:47
|
显示全部楼层
CMSIS - DAP配置信息简介
需要配置的信息:
(1)CMSIS-DAP调试单元中使用的Cortex-M处理器参数的定义。
(2)调试单元标识字符串(供应商,产品,序列号)。
(3)调试单元通信包大小。
(4)调试访问端口支持的模式和设置(JTAG / SWD和SWO)。
(5)有关已连接目标设备(用于评估板)的可选信息。
#define CPU_CLOCK 72000000U
数值:CPU主频时钟
描述:调试单元中使用的Cortex-M MCU的处理器时钟。该值用于计算SWD / JTAG时钟速度。
#define IO_PORT_WRITE_CYCLES 2U
数值:I/O时钟周期, 2=default, 1=Cortex-M0+ fast I/O
描述:I / O端口写操作时钟周期(主频)。此值用于计算Cortex-M MCU在调试单元中通过I / O端口写操作生成的SWD / JTAG时钟速度。大多数Cortex-M处理器需要2个处理器周期来进行I / O端口写操作。如果调试单元使用具有高速外围设备I / O的Cortex-M0 +处理器,则可能只需要1个处理器周期。
#define DAP_SWD 1
数值:1 = available, 0 = not available
描述:表示在调试访问端口上使用SWD调试接口。此信息由命令DAP_Info作为Capabilities的一部分返回。
#define DAP_JTAG 1
数值:1 = available, 0 = not available
描述:表示在调试端口上使用JTAG接口。此信息由命令DAP_Info作为Capabilities的一部分返回。
#define DAP_JTAG_DEV_CNT 8U
数值:调试访问接口上外接的设备数
描述:在连接到调试访问端口的扫描链上配置JTAG设备的最大数量。此设置会影响调试单元的RAM要求。有效范围是1 ..255。
#define DAP_DEFAULT_PORT 1U
数值:Default JTAG/SWJ Port Mode: 1 = SWD, 2 = JTAG
描述:调试访问端口上的默认通信模式,选择端口默认模式时,用于命令DAP_Connect。
#define DAP_DEFAULT_SWJ_CLOCK 1000000U
数值:SWJ/JTAG时钟速度。
描述:SWD和JTAG模式的调试访问端口上的默认通信速度。用于初始化默认的SWD / JTAG时钟频率。可以使用命令DAP_SWJ_Clock覆盖此默认设置。
#define DAP_PACKET_SIZE 512U
数值:数据包大小
描述:命令和响应数据的最大包大小。此配置设置用于优化与调试器的通信性能,并且取决于USB外设。对于全速USB HID或WinUSB,典型值是64,对于高速USB HID是1024,对于高速USB WinUSB是512。
#define DAP_PACKET_COUNT 8U
数值:支持的数据包缓冲个数,即DAP_PACKET_SIZE的个数
描述:命令和响应数据的最大包缓冲区,此配置设置用于优化与调试器的通信性能,并且取决于USB外设。对于RAM或USB缓冲区有限的设备,可以减小设置(有效范围是1 .. 255)。
#define SWO_UART 1
数值: 1 = available, 0 = not available
貌似:指示UART串行线输出(SWO)是否可用。此信息由命令DAP_Info作为Capabilities的一部分返回。
#define SWO_UART_MAX_BAUDRATE 10000000U
数值:SWO波特率
描述:最大SWO UART波特率。
#define SWO_MANCHESTER 0
数值:WO Manchester: 1 = available, 0 = not available
描述:指示曼彻斯特串行线输出(SWO)跟踪可用。此信息由命令DAP_Info作为Capabilities的一部分返回。
#define SWO_BUFFER_SIZE 4096U
数值:SWO缓冲大小
描述:两个跟踪缓冲区大小。
#define SWO_STREAM 0
数值:SWO Streaming Trace: 1 = available, 0 = not available
描述:SWO流跟踪。
#define TIMESTAMP_CLOCK 100000000U
数值:时间戳
描述:测试域计时器的时钟频率。计时器值通过TIMESTAMP_GET返回。
#define TARGET_DEVICE_FIXED 0
数值:Target Device: 1 = known, 0 = unknown
调试单元连接到固定的目标设备。调试单元可以是评估板的一部分,并且始终连接到固定的已知设备。在这种情况下,将存储设备供应商和设备名称字符串,调试器或IDE可以使用该字符串来配置设备参数。
#if TARGET_DEVICE_FIXED
#define TARGET_DEVICE_VENDOR "" ///< String indicating the Silicon Vendor
#define TARGET_DEVICE_NAME "" ///< String indicating the Target Device
#endif
厂商,产品ID和串行字符串获取代码如下:
/** Get Vendor ID string.
\param str Pointer to buffer to store the string.
\return String length.
*/
__STATIC_INLINE uint8_t DAP_GetVendorString (char *str) {
(void)str;
return (0U);
}
/** Get Product ID string.
\param str Pointer to buffer to store the string.
\return String length.
*/
__STATIC_INLINE uint8_t DAP_GetProductString (char *str) {
(void)str;
return (0U);
}
/** Get Serial Number string.
\param str Pointer to buffer to store the string.
\return String length.
*/
__STATIC_INLINE uint8_t DAP_GetSerNumString (char *str) {
(void)str;
return (0U);
}
|
|