本帖最后由 Simon21ic 于 2013-3-13 22:49 编辑 show一段stlink调试lpc1766的底层数据以及分析,貌似问题很简单:
花了几小时测试一下了手头上有的其他cortex,stlink支持其他cortex只能使用SWD接口。目前估计一般的CortexM0/3/4应该都可以支持,CortexM0+的话,木有芯片测试,并且已知kinetis不支持(因为对DAP都了手脚,还没有硬件来研究)。 如果使用JTAG的话,程序就需要增加目标芯片的自动检测,以及根据检测到的目标芯片,自动设置JTAG参数。 |
这个的经验,就是从08年到现在,自己的兴趣而已。代码早就分享了,经验就看有没有能力获得了。 STLink调试的速度确实比以前OpenOCD+Versaloon要高不少,毕竟不用通过一个中介。 逻辑分析仪看到的命令,基本上都分析出了功能,不过有一个没搞定,还好貌似不影响调试: case STLINK_ADI_SUBCMD_UNKNOWN41: { SET_LE_U16(&cmd[0], STLINK_ADI_REP_OK); return 2; } 命令是F2 41 00 00 ....,截取到的这个命令的应答都是80 00,所以就不知道是干什么的了。 TODO list: 1. SWIM的支持,N久之前就搞定过,不知道ST有没有修改协议,不过感觉压力不大,浮云级的东西 2. 其他CortexM系列的支持,很多芯片可能可以直接支持,不过芯片种类不少,而且其他芯片也肯定不用stlink测试,所以工作量还是有一些的 3. Versaloon的PC程序(vsprog),增加WinUSB的驱动方式,这样就可以直接支持VersaloonONstlink。 4. N多芯片的测试,估计只是我用到的芯片测试一下而已。 FUNC list: 1. IAR/MDK 调试CortexM 2. CDC串口 3. 标准Versaloon支持,包括10+种处理器/存储器,5+种外设接口 4. OpenOCD支持,可以调试的东西就多了去了 |