一、背景
    keil使用ULINK2调试的时候,提示
    "No Ulink Device found",
    "error: flash download failed - Target DLL has cancelled" 。
    之前一直都OK,然后今天突然不行,插上的时候,"COM","RUN"的绿灯也跟平时一样亮了1s左右,熄灭,
红灯也长亮,看设备管理器,电脑也识别了。后来才知道同事将ULINK带回家使用了,而他的keil版本是V4.70,
公司kel版本却是V4.60,问题就出在这里。
    若是设备管理器找不到keil,那么就是ULINK硬件有问题,不在本篇文章讨论之列。
二、正文
    出现原因:
    ULINK根据PID分为两个可用固件版本:PID = "PID2720"或者PID = "PID2722"。
    PID即USB的PID,查看方式为:
    设备管理器 --> 人体输入学设备 --> HID-compliant device --> 右击选择属性 -->  "属性"一框
     --> 选择硬件ID --> 即可得到PID信息。
    > "PID2720" --> 固件版本为V1.42或者更低的固件版本,则支持MDK-ARM V4.60或者更低的keil版本。
    > "PID2722" --> 固件版本为V2.00或者更高的固件版本,则支持MDK-ARM V4.70或者更高的keil版本。
                    如果需要用该版本固件去配合MDK-ARMV4.60或者更低版本的KEIL使用,则应该
                    使用"UL2_Configure.exe"(附件)工具,将ULINK设置为"for ULINK boot mode"。
    解决办法一共有两种:
    1、 将MDK-ARM V4.60升级到V4.70以上版本。(V4.70调试的时候有些小问题,我暂时没这么干)。
    2、 利用"UL2_Configure.exe"将ULINKD boot mode 更改为"for ULINK boot mode":
        "UL2_Configure.exe"这个玩意儿在MDK v4.7的安装目录(..\Keil\ARM\ULINK\Utilities)下,
        现在问题来了,我又不想装V4.70哪有这玩意儿,所以我把他提取出来了,下载链接见文章第三
        部分。
        操作办法既是:打开cmd,输入 : 
        ..\UL2_Configure.exe SN码 B0 ,然后回车("..\"代表这个文件所在的链接。)
            > SN码查看方法:keil --> Target option --> Debug --> setting 
         --> Serial No:SN码;
            > B0 --> ULINK boot mode;
              B1 --> CMSIS-DAP boot mode;
        接着就会出现Disconnect......等等的提示,等待其自行操作完毕即可。
三、参考链接:
    1、 "UL2_Configure.exe"下载地址:
        http://pan.baidu.com/s/1c1LRS6c
    2、 "ULINK: No ULINK Device Found"
        http://www.keil.com/support/docs/3613.htm
    3、 "ULINK2 User's Guide --> Hardware Checklist":
        http://www.keil.com/support/man/docs/ulink2/ulink2_trblsh_hwcheck.htm
    4、 "ULINK: How to downgrade the firmware of ULINK2/ME"
        http://www.keil.com/support/docs/3632.htm
    至此记录完毕。
记录时间:2016年11月14日
记录地点:深圳WZ