RadioOperator / STM32F103C8T6_CMSIS-DAP_SWO

CMSIS-DAP SWO CDC STM32F103C8T6 BluePill STLINK ARM Debugger
Apache License 2.0
377 stars 193 forks source link

固件如何烧写入核心板呢? #10

Closed molun closed 3 years ago

RadioOperator commented 3 years ago

有许多方法都能烧,看你手头上有什么工具,与通常烧写F103是一样的。

bihailantian655 commented 2 years ago

作者是中国人么? 直接刷入淘宝的那个 c8t6 开发板可以么用?我这怎么设备管理器可以识别 串口和dap , 但是 keil 识别不了 ,platform io debug 也报错 。 我这个版芯片可能不是stm 的

0x2ba01477 swd Warn : Using CMSIS-DAPv2 interface 1 with wrong class 10 subclass 0 or protocol 0 Warn : could not claim interface: Operation not supported or unimplemented on this platform

RadioOperator commented 2 years ago

设备管理器可以识别 串口和dap, 说明写入正确。你可以先测试串口,收发数据正常就进一步说明刷入正确。 Keil识别不了,可能的原因有:

  1. Keil里面没有选择CMSIS-DAP。
  2. DAP没有接开发板。
  3. SWD,SWC,GND,3条线连接不正确(连线不能太长)或者JTAG的几条线连接不正确(如果使用JTAG模式)。
bihailantian655 commented 2 years ago

有许多方法都能烧,看你手头上有什么工具,与通常烧写F103是一样的。

烧录淘宝的 nanlik的固件,系统管理器没有 daplink这个名字,keil能识别烧录器 但是检测不到 被烧炉的芯片。 我没重新编译 使用 作者的build 目录下的 固件 (大小超过了64kb) ,系统管理器能检测到dap,但是keil,检测不到烧录器

RadioOperator commented 2 years ago

你说的太简单,有点儿乱,您有几个硬件?谁烧录谁?问题出在哪里?

我的这个固件,是HID的,只会看到/并使用CMSIS-DAP,不会有daplink的信息。

bihailantian655 commented 2 years ago

1 个 淘宝买的 stlink ,一个c8t6 开发板 ,还有一个 c6t6 的板子 。 要把c8t6烧录成 daplink 或者 cmsis 。所有的固件都是通过stlink烧录的 。 作者的 固件(大小都超过了64kb,c8 flash不是64么)通过stlink 烧录以后 设备管理器能看到 CMSIS-DAP,和串口,但是keil 检测不到 烧录成 cmsis 的这个 烧录器。 烧录淘宝的那个 nanolink固件 ,设备管理器只能看到 和串口,看不到 CMSIS-DAP。keil 能检测到 烧录成 cmsis 的这个 烧录器,但是接线也后报错RDDI-DAP Error。

RadioOperator commented 2 years ago

nanolink,我不了解,无法给意见。

大多数c8t6都是128KB的,如果遇到64KB的,也可以用我的这个CMSIS-DAP。用stlink烧录,没有问题的,看起来你已经烧录成功,因为已经在设备管理器里面看到CMSIS-DAP和串口。 连接我的固件的这个c8t6到其他开发板,检查连接正确,在Keil里面要选择CMSIS-DAP,应该看到开发板的MCU信息,如果出现RDDI-DAP Error,降低速度再试一试,多数情况是硬件连接有问题。 我的固件没有问题,因为太多的人使用过的了。

RadioOperator commented 2 years ago

你的c8t6的板子是Bluepill吗,留意我的固件有两种,REMAP和PB8PB9,分别使用不同的IO口连接开发板。

bihailantian655 commented 2 years ago

https://item.taobao.com/item.htm?id=555980041738 淘宝买的 应该是 bluepill 我也不懂 (我看有人说stm32的这个c8 和 cb用的是同一个die )。不过芯片 应该是国产的。如果cubeide 的程序 用 stlink 给这个板子烧录的时候 报0x2ba01477一类的错 。我都是用stlink utility烧录程序。keil不识别应该是这个国产芯片关系吧 。我直接烧录的是build目录下的 F103-DAP-SWO-CDC-STLINK_V2A-SWO_PB7,并没有重新编译。

RadioOperator commented 2 years ago

这个就是我们通常所说的Bluebill, 你烧错了固件,使用stlink再烧一次,用F103-DAP-SWO-CDC-BLUEPILL-SWD_REMAP.hex 我的带有STLINK_2A/2B字样的固件,是用于“STLINK的硬件”烧成CMSIS-DAP用的,看我Doc里面的大表。

bihailantian655 commented 2 years ago

F103-DAP-SWO-CDC-BLUEPILL-SWD_PB8PB9 ,F103-DAP-SWO-CDC-BLUEPILL-SWD_REMAP 这两个固件我都试过了,还是不行 。关键是 cmsis-dap-jtag/sw adapter 下啥都没有,灰色的不可选 。系统 amd win11 烧录淘宝的nanodap https://github.com/wuxx/nanoDAP 倒是能显示,但是 接线后 检测不到开发板 platformio 也报错 (debug_level: 1

0x2ba01477 swd Warn : Using CMSIS-DAPv2 interface 1 with wrong class 10 subclass 0 or protocol 0 Warn : could not claim interface: Operation not supported or unimplemented on this platform)

mzhboy commented 2 years ago

注意你的stm32可能是remark重新打标的,可能无法完全兼容C8,尤其注意的是国产兼容片的C8是真的64k,没有多出来的64k。ST的正版是64K,要做烧录器要么买卖家做好的要么多花点钱买ST的芯片

bihailantian655 commented 2 years ago

我觉得也是这个原因,算了 ,淘宝买个成品吧,或则以后再搞吧,多谢帮助。

RadioOperator commented 2 years ago

假设各种硬件连接都没有问题,我现在还不能确定Win11+Keil是否能正常工作,因为我都是在Win10/Win7下面用的。

RadioOperator commented 2 years ago

做为一般使用,我建议手上至少要有三个STLINKv2的小东西:然后,

  1. 使用STLINKv2,把另一个刷成CMSIS-DAP或者daplink。
  2. 使用STLINKv2,把第三个刷成JLINK,网上有固件。
  3. 如果上面的可以正常使用,回头使用上面的其中一个,把STLINKv2刷成STLINKv2-1, 这样就都有了VCP。
  4. 如果要开发STM8,可能需要再买多一个STLINKv2,不改。

再把VCP / SWO的连线改装好,可以应付各种开发板。 当然,也要确认买到的STLINK是原装的,可以用的c8t6/cbt6,有的国产的也是可以用的,也只能试过才知道。

bihailantian655 commented 2 years ago

手上有apm32cb 有空我试一下