开发板使用的是st官方的stm32F207ZG nucleo,遇到的问题是在keil中报错:

no target connected

到网上找答案,都是说gpio口的问题,让按着reset键改debug 的setting然后再download就好了,试了好久都没效果,遂放弃。还有的说可能是芯片没上电,我想,我这儿插着usb呢,咋会没电。

后来在一个群里和网友讨论到凌晨三点半,无果,最后推荐我试一下gnu 的toolchain,那样的话他对报错会熟悉一些,有可能可以搞明白,试过后,无果。

后来又下了stlink unity,连接时报错

can not connect target

但奇怪的是使用它更新固件时LD4会闪烁,我想这应该是在写入固件吧,说明我的连接没问题。

前前后后折腾了一周多。这里还是要吐槽一下st官方天猫店的售后,走投无路时去找了客服寻求技术支持,说好的完善的技术支持,进了群之后并没有人搭理我,我低三下四一遍遍的艾特,还是没人管我,这种服务你卖什么产品啊,真服了。

最后,山穷水尽之际,让我发现了板子的说明手册,找到了错误的根源,原来真的是没上电。

错误的根源就是,之前以为板子上的那些塑料制品是接口一类的东西,供插线用的,就随便插着玩了。看了说明手册后,才知道这个叫jumper,大概翻译为跳线?正是我把U5V位置的跳线拔走了,导致供电失败,pwr灯也没在亮了,本来是很明显的问题,不过我第一次用这个开发板实在是没注意到这一点,毕竟板子上光写pwr的地方好几个。总之,再更新了一下固件就完全恢复了,实在是虚惊一场。

说实话,发板子时就算不给纸质的说明手册,起码把官网的文档搞得规范一点,找起来也方便很多啊,官方版对小白太不友善了。我甚至是一开始一直纠结于国内产的开发板为什么都带一个一个调试器,后边才慢慢猜到stlink是被嵌入到开发板里来了,看了手册之后才明白整个开发板的左小部分就是stlink,这也解释了为什么上边用stlink unity更新固件时灯会闪烁了,因为确实连接了stlink只是没有连接芯片。

一下子之前网上看到的那些乱七八糟的答案就都明了了,download程序进去后reset按着也确实有反应了。大家新手入门买开发板的话还是找售后靠谱一点的吧,不然遇到问题实在太难受了,硬件问题总是千奇百怪,问论坛或者群里的人总归是效率太低,也不好定位问题,至于st 某猫旗舰店的技术支持人员,完全不尊重人,就不要指望了。

附上手册的下载地址:https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo144-boards-stmicroelectronics.pdf

经此一次,十分体会到初学者的不易,分享这次经历供大家借鉴。我在软件编程和密码学方面还算有点经验,嵌入式刚刚开始,欢迎交流。

初试stm32嵌入式开发遇到的巨坑的更多相关文章

  1. 嵌入式linux和stm32嵌入式开发这两者之间有什么关联性

    对于更开始入坑的同学,可能也像我一样搞不清楚两者的区别与联系.现在结合知乎网上的相关资料发一篇文章来具体分析. 基于STM32的开发属于微控制器开发领域,主要开发工具是keil或IAR,这种开发更准确 ...

  2. STM32嵌入式开发学习笔记(一)

    本文中,笔者将介绍使用嵌入式开发工具Keil uVision5,使用C语言,对微处理器STM32F103C8进行嵌入式开发. 开发使用C语言,首先需要新建一个C语言文件,将其设为主函数的入口,因此,将 ...

  3. .net core 在 Docker 开发下的巨坑

    一,Docker 的安装 Windows 安装  Docker 官方文档: https://docs.microsoft.com/zh-cn/virtualization/windowscontain ...

  4. STM32嵌入式开发学习笔记(六):串口通信(上)

    本文我们将了解STM32与外部设备通过串口通信的方式. 所谓串口通信,其实是一个类似于计算机网络的概念,它有物理层,比如规定用什么线通信,几伏特算高电平,几伏特算低电平.传输层,通信前要发RTS,CT ...

  5. STM32嵌入式开发学习笔记(七):串口通信(下)

    下面我们进行几个串口通信的实际应用. 实验一:发信实验,让开发板通过串口向电脑发送信息: #include <stdio.h> #include <stm32f10x.h> # ...

  6. STM32嵌入式开发学习笔记(四):使用滴答计时器实现精准计时

    前面我们讲过,因为在STM32上没有系统时间的接口,因此无法调用sleep函数,在本文中,笔者将利用滴答计时器实现精准延时. 查阅技术手册,滴答计时器依赖于一个SysTick_Type类型寄存器,定义 ...

  7. STM32嵌入式开发学习笔记(三):使用按键控制小灯

    按键和小灯一样,也是通过GPIO外设与主板连接,也是通过GPIO_InitStruct类型结构体控制其工作. 查阅技术手册,按钮连接GPIOA控制下的管脚0. 但与之不同的是,按键是一种输入设备,输入 ...

  8. STM32嵌入式开发学习笔记(五):中断

    我们过去了解了用循环实现延时,或用系统滴答计时器实现延时,但这两种方法都有一种问题:会阻塞处理器的运行.下面我们学习一种不阻塞处理器运行其他事件的功能:时钟中断. 所谓中断,就是让处理器放下手头的事情 ...

  9. STM32嵌入式开发学习笔记(二):将功能封装为库文件

    将所有的函数都堆在main.c文件里不是好的选择,庞大的代码文件会是你维护的障碍,明智的做法是,一种功能封装到一个库文件里. 库文件就是你代码开始部分写的#include<xxxx.h>里 ...

随机推荐

  1. Python代码覆盖率分析工具Coverage

    简介 在测试中,为了度量产品质量,代码覆盖率被作为一种测试结果的评判依据,在Python代码中用来分析代码覆盖率的工具当属Coverage.代码覆盖率是由特定的测试套件覆盖被测源代码的程度来度量,Co ...

  2. thinkphp5--多文件入口设置

    来源:http://www.cnblogs.com/walblog/p/8035426.html 今天在用tp5做项目的时候发现,前台是可以绑定默认到index模块的,但是后台不好弄,于是查了一下手册 ...

  3. thinkphp5.0 url跳转

    <a href="{:url('member/index/index',['id'=>5])}">跳转</a> define()自定义常量在thiin ...

  4. php下载各种编辑器输出的内容到word中展示

    <?php/** * Created by PhpStorm. * User: 工作 * Date: 2018/1/11 * Time: 12:02 */ //连接数据库$dsn = " ...

  5. 【转载】pyinstaller的使用和几个坑

    1.-w是不显示命令窗口,  -i 图标文件的路径  这是改变图标的,但是我发现只能改变任务栏里的和命令窗口的图标,并不能改变exe文件的图标.另外这些参数要加载pyinstaller和路径中间. 2 ...

  6. (c++ std) 查找 vector 中的元素

    You can use std::find from <algorithm>: std::find(vector.begin(), vector.end(), item) != vecto ...

  7. Linux系统管理第四次作业 磁盘管理 文件系统

    1.为主机新增两块30GB的SCSI硬盘 2.划分3个主分区,各5GB,剩余空间作为扩展分区 [root@localhost ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-l ...

  8. vue2.x学习笔记(二十四)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12663909.html. 插件 插件通常是用来为vue添加全局功能的. 插件的功能范围 插件的功能范围没有严格的限 ...

  9. Neditor 2.1.16 发布,修复缩放图片问题

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   BUG 修复 修复缩放图片时,鼠标mouseUp后图片还是在缩放 by @ShinyHwong Demo:  https://demo.ne ...

  10. mysql备份及恢复

    第四章:MySQL数据库的备份与恢复                            2016-09-30 00:58:05 标签:数据库备份 工作原理 数据库表 mysql source 原创 ...