努力了8小时,stlink也成为浮云了

查看数: 7288 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-3-13 14:28

正文摘要:

本帖最后由 Simon21ic 于 2013-3-13 14:30 编辑 CDC也比较容易的集成进去了 不过,还有一个不满意,集成进去的Versaloon代码,需要更换驱动才能使用,正在考虑如何解决。 可能需要重写Versaloon的PC端底层驱 ...

回复

lingjun1015 发表于 2015-11-9 14:41
感觉,玩的好高大上!!!!

使用特权

评论回复
lio 发表于 2014-7-24 08:28
大师的救我

使用特权

评论回复
Simon21ic 发表于 2013-3-13 22:46
本帖最后由 Simon21ic 于 2013-3-13 22:49 编辑

show一段stlink调试lpc1766的底层数据以及分析,貌似问题很简单:

// PLL0CON: disable PLL
  47.2  OUT    f2 08 80 c0  0f 40 04 00  00 00 00 00  00 00 00 00  .....@..........   32ms        54.1.0        
  47.2  OUT    00 00 00 00                                         ....              1.0ms        55.1.0        
  47.2  OUT    f2 3b 00 00  00 00 00 00  00 00 00 00  00 00 00 00  .;..............  974us        56.1.0        
  47.1  IN     80 00                                               ..                1.0ms        57.1.0        
// PLL0FEED
  47.2  OUT    f2 08 8c c0  0f 40 04 00  00 00 00 00  00 00 00 00  .....@..........  1.0ms        58.1.0        
  47.2  OUT    aa 00 00 00                                         ....              1.0ms        59.1.0        
  47.2  OUT    f2 3b 00 00  00 00 00 00  00 00 00 00  00 00 00 00  .;..............  1.0ms        60.1.0        
  47.1  IN     80 00                                               ..                1.0ms        61.1.0        
// PLL0FEED
  47.2  OUT    f2 08 8c c0  0f 40 04 00  00 00 00 00  00 00 00 00  .....@..........  1.0ms        62.1.0        
  47.2  OUT    55 00 00 00                                         U...              1.0ms        63.1.0        
  47.2  OUT    f2 3b 00 00  00 00 00 00  00 00 00 00  00 00 00 00  .;..............  1.0ms        64.1.0        
  47.1  IN     80 00                                               ..                1.0ms        65.1.0        
// CCLKCFG
  47.2  OUT    f2 08 04 c1  0f 40 04 00  00 00 00 00  00 00 00 00  .....@..........  1.0ms        66.1.0        
  47.2  OUT    00 00 00 00                                         ....              1.0ms        67.1.0        
  47.2  OUT    f2 3b 00 00  00 00 00 00  00 00 00 00  00 00 00 00  .;..............  998us        68.1.0        
  47.1  IN     80 00                                               ..                990us        69.1.0        
// SCS: enable main oscillator
  47.2  OUT    f2 08 a0 c1  0f 40 04 00  00 00 00 00  00 00 00 00  .....@..........  1.0ms        70.1.0        
  47.2  OUT    20 00 00 00                                          ...              1.0ms        71.1.0        
  47.2  OUT    f2 3b 00 00  00 00 00 00  00 00 00 00  00 00 00 00  .;..............  1.0ms        72.1.0        
  47.1  IN     80 00                                               ..                1.0ms        73.1.0        
// CLKSRCSEL: select main oscillator as PPL0 source
  47.2  OUT    f2 08 0c c1  0f 40 04 00  00 00 00 00  00 00 00 00  .....@..........   53ms        74.1.0        
  47.2  OUT    01 00 00 00                                         ....              1.0ms        75.1.0        
  47.2  OUT    f2 3b 00 00  00 00 00 00  00 00 00 00  00 00 00 00  .;..............  1.0ms        76.1.0        
  47.1  IN     80 00                                               ..                1.0ms        77.1.0        
//
  47.2  OUT    f2 08 00 c0  0f 40 04 00  00 00 00 00  00 00 00 00  .....@..........  1.0ms        78.1.0        
  47.2  OUT    3a 00 00 00                                         :...              1.0ms        79.1.0        
  47.2  OUT    f2 3b 00 00  00 00 00 00  00 00 00 00  00 00 00 00  .;..............  1.0ms        80.1.0        
  47.1  IN     81 00                                               ..                1.0ms        81.1.0        
IAR使能了主晶振后,系统就挂了,原因:主晶振没有焊接,焊接上去就OK了。
花了几小时测试一下了手头上有的其他cortex,stlink支持其他cortex只能使用SWD接口。目前估计一般的CortexM0/3/4应该都可以支持,CortexM0+的话,木有芯片测试,并且已知kinetis不支持(因为对DAP都了手脚,还没有硬件来研究)。
如果使用JTAG的话,程序就需要增加目标芯片的自动检测,以及根据检测到的目标芯片,自动设置JTAG参数。

使用特权

评论回复
Simon21ic 发表于 2013-3-13 21:17
王紫豪 发表于 2013-3-13 15:40
恭喜楼主!
希望能贡献出了点什么

明天我估计就没什么时间了,这个就暂时搁置。
其实,能够做的贡献,估计就等我硬件弄好后,帮忙做一些测试吧。

使用特权

评论回复
Simon21ic 发表于 2013-3-13 21:09
这个的经验,就是从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支持,可以调试的东西就多了去了

使用特权

评论回复
cjhk 发表于 2013-3-13 20:27
楼主  把你的经验啥的分享一点吗  呵呵   需要共同进步哦  呵呵

使用特权

评论回复
王紫豪 发表于 2013-3-13 15:40
恭喜楼主!
希望能贡献出了点什么

使用特权

评论回复