开发板使用的是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. GraphicsLab Project 之 Curl Noise

    作者:i_dovelemon 日期:2020-04-25 主题:Perlin Noise, Curl Noise, Finite Difference Method 引言 最近在研究流体效果相关的模拟 ...

  2. kubernetes (一)使用Rancher搭建集群

    目录 如何快速高效部署K8s集群 Rancher是什么 为什么是Rancher 1.0.安装Rancher 1.1.环境 1.2.选择Rancher版本 1.3.拉取镜像 2.0.容器启动高级选项 2 ...

  3. Cannot find or open the PDB file

    打开VS:工具 --> 选项 --> 调试-->符号接下来就是选择Microsoft,然后确认

  4. centos7安装及部署zabbix监控

    一:实验环境 server.zabbix.com-------------------- 192.168.200.11 agent.zabbix.com------------------------ ...

  5. javescrip内嵌样式与外联样式怎么做?

    对于前端初学者,个人JS样式常用的有两种:内嵌样式 ,外联样式:下面通过一个简单的鼠标点击出现设定的验证数字为例进行演示: 先看下效果: 鼠标点击前效果: 鼠标点击后效果: 图中的这个ojbk是我js ...

  6. material UI中withStyles和makeStyles的区别

      在material UI中,withStyles和makeStyles是经常使用的两个用于封装样式的函数.对于刚使用material UI的开发者而言,可能不太清楚这两者的区别.   本文简要探究 ...

  7. Android Room SQLite持久层框架

    原文链接 前言 Android中提供了SQLite数据库进行数据的持久化 ,并提供了对应API访问数据库,而Room框架提供了SQLite数据访问抽象层,为高效的数据库访问层带来便捷 APP可以缓存用 ...

  8. Ubuntu Install Chinese Input Method

    为了提高在Linux系统使用中文输入的体验,安装搜狗拼音输入法. 确保键盘输入系统选中fcitx. 搜狗拼音输入法基于fcitx(Free Chinese Input Toy for X)框架,所以要 ...

  9. 2020最新nginx+gunicorn+supervisor部署基于flask开发的项目的生产环境的详细攻略

    本攻略基于ubuntu1804的版本,服务器用的华为云的服务器,python3(python2已经在2020彻底停止维护了,所以转到python3是必须的)欢迎加我的QQ6398903,或QQ群讨论相 ...

  10. 禅道部署(基于 Linux)

    1. 查看 Linux 服务器是 32位 还是 64位 的 getconf LONG_BIT 2. 禅道开源版安装包下载 下载站点1:# wget http://sourceforge.net/pro ...