开发板使用的是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. Java锁之自旋锁

    Java锁之自旋锁 自旋锁:spinlock,是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁,这样的好处是减少线程上下文切换的消耗,缺点是循环会消耗CPU 原来提到的比较并交换,底层 ...

  2. DiskPart.exe and managing Virtual Hard Disks (VHDs) in Windows 7

    coreygoOctober 7, 2009 In Windows 7, new commands have been added in DiskPart to allow for the creat ...

  3. ip-端口-协议等基本概念

    互联网上的计算机,都会有一个唯一的32位的地址——ip地址.我们访问服务器,就必须通过这个ip地址.   局域网里也有预留的ip地址:192/10/172开头.局域网里的ip地址也是唯一的.   NA ...

  4. 打造更好用的 EF 自动审计

    打造更好用的 EF 自动审计 Intro 上次基于 EF Core 实现了一个自动审计的功能,详细可以参考 https://www.cnblogs.com/weihanli/p/auto-audit- ...

  5. L3.二.return

    # 函数的返回值 def get_max(a,b,c): max_num=a if b > max_num: max_num = b if c > max_num: max_num = c ...

  6. Linked List-1

    链表一直是面试的重点问题,恰好最近看到了Stanford的一篇材料,涵盖了链表的基础知识以及派生的各种问题. 第一篇主要是关于链表的基础知识. 一.基本结构 1.数组回顾 链表和数组都是用来存储一堆数 ...

  7. Eclipse 全部快捷一览表(具TM全)

    1. 编辑快捷键 编辑快捷键 介绍 psvm + Tab 生成main方法 sout + tab 生成输出语句 Ctrl+X / Ctrl + Y 删除一行 Ctrl+D 复制一行 Ctrl+/ 或 ...

  8. codeforce 225B Code Parsing

      Little Vitaly loves different algorithms. Today he has invented a new algorithm just for you. Vita ...

  9. Jmeter 后置处理器

    1.JSON Extractor Json extractor 后置处理器用在返回格式为 Json 的 HTTP 请求中,用来获取返回的 Json 中的某个值.并保存成变量供后面的请求进行调用或断言等 ...

  10. python-os.rmdir与shutil.rmtree的区别和用法

    每次写脚本的时候,pycharm都会自动生成缓存文件__pycache__文件,在提交代码的时候还得挨个删除,于是自己写一小段代码自动循环删除此目录及下面的文件. 思路: 先将目录及其下的文件读取出来 ...