[原创] 将新唐调试器改造成通用CMSIS-DAP(待测试)

le062   2015-8-11 12:09 楼主
这两年新唐白送了不少开发板,每块板子上都集成了一个Nu-Link,这个东西现在只能调试新唐自家的芯片。 给它做一个CMSIS-DAP的固件,就可以兼容很多其他处理器。 简单说下移植步骤: 1 主要参考"CMSISDAP-DL-00001-r0p1-00rel0.zip"和“NUC100_120BSPv3.00.002” 2 移除keil的rtl系统,裸奔,IAR编译 3 使用新唐bsp中的usb库 4 先只支持HID,CDC和MSC未使能 5 插上电脑,可识别。但由于不熟悉CMSIS-DAP,没进一步测试 源码、原理图及参考资料 github.com/le062/CMSIS-DAP 如果你有两块Nu-Link-Me V2.0,可以使用烧录下面这个编译好的固件
CMSIS-DAP_Nu-Link v0.1.rar (10.7 KB)
(下载次数: 60, 2015-8-11 12:04 上传)
如果要还原,可以在Nuvoton Tools\ICPTool\Nu_Link下面找到原厂固件。 IO表: 捕获.JPG 本帖最后由 le062 于 2015-8-11 12:14 编辑
要666

回复评论 (10)

1 来自 5楼 le062 

上午花了点时间调试。
解决了三个bug
1:增加dap_xxx 宏
2:修正usb字符串描述符
3:修正usb hid in/out传输逻辑

现在测试,usb之间已有swd sequence和swd transfer数据,但是可能因为底层io驱动有问题,我这边应答的数据是有问题的。
这个地方需要在检查下io是否正常,当然最好能找个能用的cmsis-dap看下它的usb数据和swd电平逻辑
要666
点赞  2015-8-14 12:21

1 来自 7楼 le062 

修正了"AN"版本上GPIO寄存器使用方法

现在可以下载程序和调试了,不过iar下速度很慢
  1. Fri Aug 14, 2015 13:59:37: Loaded macro file: C:\Software\IAR Systems\Embedded Workbench 7.2\arm\config\debugger\ST\STM32F1xx_XL.dmac
  2. Fri Aug 14, 2015 13:59:37: Loading the I-jet/JTAGjet driver
  3. Fri Aug 14, 2015 13:59:37: Probe: CMSISDAP S/N 00000000 mapped to a number 59065.
  4. Fri Aug 14, 2015 13:59:37: EARM v.3.72
  5. Fri Aug 14, 2015 13:59:37: Emulation layer version 3.72
  6. Fri Aug 14, 2015 13:59:38: Connecting Cortex-M core ID = 0x24770011 on DAP port 0
  7. Fri Aug 14, 2015 13:59:38: Recognized CPUID=0x410fc241 Cortex-M4 r0p1 arch ARMv7-M
  8. Fri Aug 14, 2015 13:59:39: Debug resources: 6 instruction comparators, 4 data watchpoints.
  9. Fri Aug 14, 2015 13:59:39: CPU status - IN RESET
  10. Fri Aug 14, 2015 13:59:39: INFO: Configuring trace using 'SWO,ETB' setting ...
  11. Fri Aug 14, 2015 13:59:39: INFO: SWO trace mode is not supported by the probe - trace is disabled.
  12. Fri Aug 14, 2015 13:59:39: LowLevelReset(script, delay 200)
  13. Fri Aug 14, 2015 13:59:39: Calling reset script: C:\Software\IAR Systems\Embedded Workbench 7.2\arm\config\debugger\ST\STM32.ProbeScript@ConnectUnderReset
  14. Fri Aug 14, 2015 13:59:39: The scripted reset failed with the message:
  15. Low level script error in C:\Software\IAR Systems\Embedded Workbench 7.2\arm\config\debugger\ST\STM32.ProbeScript line 9:
  16.    Memory access error 3.
  17. Fri Aug 14, 2015 13:59:40: Connecting Cortex-M core ID = 0x24770011 on DAP port 0
  18. Fri Aug 14, 2015 13:59:40: Recognized CPUID=0x410fc241 Cortex-M4 r0p1 arch ARMv7-M
  19. Fri Aug 14, 2015 13:59:40: Debug resources: 6 instruction comparators, 4 data watchpoints.
  20. Fri Aug 14, 2015 13:59:41: CPU status OK
  21. Fri Aug 14, 2015 13:59:41: Loaded debugee: C:\Users\Lion\Desktop\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\FLASH\Dual_Boot\EWARM\
  22. STM32F10X_XL_BANK1\Exe\STM32F10X_XL_BANK1.out
  23. Fri Aug 14, 2015 13:59:41: 688 bytes downloaded (7.72 Kbytes/sec)
  24. Fri Aug 14, 2015 13:59:41: Download completed.
  25. Fri Aug 14, 2015 13:59:41: LowLevelReset(software, delay 200)
  26. Fri Aug 14, 2015 13:59:43: Target reset
  27. Fri Aug 14, 2015 13:59:43: There was 1 warning during the initialization of the debugging session.
要666
点赞  2015-8-14 13:59
等待后续。如果可行,很多新塘的开发板就可以发挥新用途了。
点赞  2015-8-11 12:18
支持楼主继续探索
点赞  2015-8-11 13:00
支持楼主来个详细教程
点赞  2015-8-11 14:12
楼主牛人啊,支持一下啊
点赞  2015-8-14 12:45
楼主成功了吗?
点赞  2016-7-19 08:22
厉害啊,最近也在研究CMSIS DAP,一点头绪都没有呢
点赞  2017-4-14 17:38
楼主搞定了没?  能否探讨下?
点赞  2017-6-8 22:53
看起来很厉害的样子
点赞  2018-5-31 17:15
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复