具体报错 Processing bluepill_f103c8 (platform: ststm32; board: bluepill_f103c8; framework: libopencm3)———————————————————————————————————————————————————————————————–Verbose mode can be enabled via `-v, –verbose` optionCONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bluepill_f103c8.htmlPLATFORM: ST STM32 5.4.3 > BluePill F103C8HARDWARE: STM32F103C8T6 72MHz, 20KB RAM, 64KB FlashDEBUG: Current (stlink) External (blackmagic, jlink, stlink)PACKAGES: tool-stm32duino 1.0.1, framework-libopencm3 1.1.0, toolchain-gccarmnoneeabi 1.70201.0 (7.2.1), tool-openocd 2.1000.190422 (10.0)LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldfLDF Modes: Finder ~ chain, Compatibility ~ softFound 0 compatible librariesScanning dependencies…No dependenciesChecking size .pio/build/bluepill_f103c8/firmware.elfMemory Usage -> http://bit.ly/pio-memory-usageDATA: [ ] 0.0% (used 0 bytes from 20480 bytes)PROGRAM: [ ] 1.0% (used 684 bytes from 65536 bytes)Configuring upload protocol…AVAILABLE: blackmagic, dfu, jlink, mbed, stlinkCURRENT: upload_protocol = stlinkUploading .pio/build/bluepill_f103c8/firmware.elfGNU MCU Eclipse OpenOCD, 64-bitOpen On-Chip Debugger 0.10.0+dev-00593-g23ad80df4 (2019-04-22-20:18)Licensed under GNU GPL v2For bug reports, read http://openocd.org/doc/doxygen/bugs.htmldebug_level: 1hla_swdadapter speed: 1000 kHzadapter_nsrst_delay: 便宜香港vps 100none separatenone separateWarn : UNEXPECTED idcode: 0x2ba01477Error: expected 1 of 1: 0x1ba01477in procedure ‘program’** OpenOCD init failed **shutdown command invoked*** [upload] Error 1================================================================================== [ERROR] Took 1.05 seconds ==================================================================================The terminal process terminated with exit code: 1Terminal will be reused by tasks, press any key to close it. 问题核心:Warn : UNEXPECTED idcode: 0x2ba01477 Error: expected 1 of 1: 0x1ba01477原因:开发板用的芯片不是stm32f103c8,而是一个中国国产仿制版本 CS32F103C8T6。解决方法 方案1:修改cfg文件
??编辑~/.platformio/packages/tool-openocd/scripts/target/stm32f1x.cfg 把set _CPUTAPID 0x1ba01477改为set _CPUTAPID 0x2ba01477。方案2:修改工程配置文件
??在工程配置文件platformio.ini中[env…]下添加upload_flags = -c set CPUTAPID 0x2ba01477方案3:
??stm32f1x.cfg在swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf 后添加-expected-id $_CPUTAPID -expected-id 0x2ba01477
stm32串口初始化报错,stm32编程器写入数据后校验失败
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。