RCSN嵌入式

文章数:46 被阅读:160721

账号入驻

[hpm_application] 超越jlinkV11, 先楫硬件SPI模拟SWD调试协议实现(二)

最新更新时间:2024-06-09
    阅读数:


一、前言

在上一篇中 《 [hpm_application] 先楫硬件SPI模拟SWD调试协议实现(一) 》阐述了先楫的SPI外设模拟SWD的方案可行性验证,本文在上一篇的基础上,进一步验证方案性能。


本文对比的对象是segger的J-link plus compact V11。

调试器链接:

https://www.segger.com/products/debug-probes/j-link/models/j-link-plus/


该调试器的参数在segger官方有所描述,高速USB2.0(480Mbps),支持SWD/JTAG,最大接口速度为15Mhz。


而先楫HPM5301同样也具有480Mbps的高速USB2.0,SPI模拟SWD可达80Mhz, 本文就stm32f401作为测试平台,以jlink plus V11的最大频率15Mhz的clk作为对比,进一步再验证先楫45Mhz的swd效果性能。


二、性能对比

效果以逻辑分析仪抓取SWD信号计算每次的验证时间,比如擦除、烧录、校验所需的时间对比来进行验证。


另外以下的效果,hpm5301的执行代码都是放在外部flash。


逻辑分析仪的SWD信号文件会放在网盘中,有兴趣查看的可以私信本公众号。


本文验证的目标芯片固件大小为240KB左右,如图


(一)纯SWD传输验证(排除目标芯片的flash影响)

纯传输验证就是固件只管进行SWD传输,不进行编程目标芯片flash(其实就是注释了flm算法工程里面所有对flash的操作,比如编程,擦除等),这就需要改动添加个flash的flm算法文件,这里的算法文件感谢@ Aladdin-Wang 开发者提供。如有需要可以在本公众号私信获取,后续会放在网盘。


1、输出的SWD_CLK时钟大致都为15Mhz




2、program 240KB固件的传输时长有下可知,同样大概在15Mhz下,传输240KB,HPM5301模拟SWD需要1.37s, jlink的SWD需要1.86s。

在15Mhz下,hpm5301模拟的SWD性能比jlink plusV11快30%。


3、 在45Mhz下,传输240KB,hpm5301模拟的SWD传输时长只需要775ms。是jlink plus v11 15Mhz传输性能的2.4倍。


(二)实际目标芯片flash烧录性能

受限于目标芯片flash的擦除编程性能,特别是擦除性能,需要等待操作,擦除时间大致相同,校验也性能大致相同。


1、 在15Mhz下 ,对stm32f401进行全片擦除,也就256KB擦除时间,hpm5301模拟的SWD需要时间为4.49S,而jlink plus v11则需要4.81S, 在擦除时间缩短上,hpm5301相对jlink能提升10%


2、 在15Mhz下 ,对stm32f401进行编程240KB固件的时间,hpm5301模拟的SWD需要2.54S,jlinkV11需要4.23S, 在编程时间缩短上,hpm5301相对jlink能提升60%以上。


3、 在15Mhz下 ,对stm32f401进行校验240KB固件的时间,hpm5301模拟的SWD需要1.58S,jlinkV11需要2.09S, 在校验时间缩短上,hpm5301相对jlink能提升30%以上。


4、 在50Mhz下,对stm32f401进行编程240KB固件的时间,hpm5301模拟的SWD需要1.94S,相比15Mhz,时间缩短30%,这也于目标芯片的flash编程性能有关系,但整体能通过提高SWCLK频率来提高整体烧录调试性能。


三、CMSIS_DAP底层对接

本文验证不涉及DAP协议处理优化,只针对传输底层进行优化,传输逻辑可参考上一篇文章。需要对接的API分别需要是:


1、SWJ_Sequence


2、SWD_Sequence


3、SWD_Transfer


四、相关分析

为何同样SWCLK频率下,hpm5301性能比jlink plus V11强大?


这里不涉及SWD协议处理逻辑上,jlink也有自己自定义的传输协议(这种专用的比通用的DAP传输效率更高),但从传输波形上看, 比如访问一次CTRL_STAT寄存器,hpm5301由于其强大灵活可变的SPI外设,这段访问只需要6us,相反jlink V11则需要234us。传输时间更大的弥补了协议传输的损耗。



五、总结

1、在实际测试中,SWCLK可以实现80MHz,但是找不到支持这么高频率的设备,欢迎大家测试上限。


2、同SWCLK频率下,烧录调试上,先楫模拟的SWD足够超过segger的jlink plus V11


3、得益于SPI的强大灵活性、16K I/Dcache、高性能高主频的MCU,制作高性能的调试器也不在话下。


六、展望

由于先楫hpm5300系列的usb支持16个双向硬件端点,实现daplink只消耗了5个硬件端点,还有很多的硬件端点空闲,可以继续实现usb转spi、i2c、can、pwm、gpio、多路daplink等功能,后续准备朝这个方向探索,挖掘hpm5300在做这方面应用上的上限,实现自己的all-in-one嵌入式开发利器。




 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved