调试STM32f401过程出现的问题_小六@sll的博客-程序员ITS301_stm32f401

技术标签: stm32  单片机  

前言

最近在调试STM32F401遇到了一堆问题,检查结果就仅仅是一个简单的问题,写在此处,希望能帮到你,也为自己做一次深刻的笔记内容。

实验条件

  1. 在之前STM32F103的电路图上直接焊接STM32F401进行系统配置
  2. 使用J-LINK进行烧录程序,

出现的问题及解决的办法

  1. STM32F401和STM32F103的引脚相同,都是48引脚,直接配置系统时钟84MHZ,使用J-LINK能够直接进行下载,可直接烧录进去,但是使用示波器发现程序是没有运行的,于是就进行在线仿真运行,发现代码执行到 LDR R0, =SystemInit且进不去主函数当中。百度搜索到很多解决方案,都解决不掉我的问题
  2. 我开始怀疑是J-LINK下载器的问题,因为出现了下载器错误提示
* JLink Info: Found SWD-DP with ID 0x2BA01477
* JLink Info: Found SWD-DP with ID 0x2BA01477
* JLink Info: Found Cortex-M4 r0p1, Little endian.
* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
* JLink Info: TPIU fitted.
* JLink Info: ETM fitted.

于是,我换了STM32F103的程序进行下载,发现也是出现这样的提示,所以判断不是J-LINK引起的问题,那该是哪里的问题呢?就在我绝望之时,我浏览到一个帖子https://blog.csdn.net/csaaa2005/article/details/98333624

我看到他的情况和我的很类似,同样的是f103改成401的板子,他的时钟频率不能调上去,我就试着,将84MHZ的频率直接将频到48MHZ,发现程序直接运行了,于是找到的问题坐在,我就开始按照楼主的思路去排查,我发现我的问题和他的是一样的,STM32F4芯片都加了VCAP这类管脚,配置调节器,配置单片机是低功率还是高功率运行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h3oxezGh-1609928877617)(E:\博客\vcap.png)]
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2MaM1koC-1609928877619)(E:\博客\微信图片_20210106181630.png)]

查到这里,通过楼主的提示以及翻看技术文档,加上2.2uf电容。于是,世界变得明朗起来。

届时,通过2天的排查终于找到问题所在,尝试一切可能出现的问题,没想带竟然是一个很小的问题,最后得到解决,也算是圆满吧。

写在最后

写在最后,所有出现的问题都是由它的原因所在,最开始的不留意,就会造成最后可能耗费几天的工夫去解决问题,所以,做好万全的准备才能从容的应对各种突发的问题。

可能耗费几天的工夫去解决问题,所以,做好万全的准备才能从容的应对各种突发的问题。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45435398/article/details/112289660

智能推荐

homebrew curl: (60) SSL certificate problem: certificate has expired_umbrella_show的博客-程序员ITS301

brew安装软件遇到出错:curl: (60) SSL certificate problem: certificate has expired解决办法:命令行中执行HOMEBREW_FORCE_BREWED_CURL=1 即可。参考链接:https://apple.stackexchange.com/questions/393481/homebrew-cask-download-failure-ssl-certificate-problem-certificate-has-expired...

android post 请求参数,Android拦截并获取WebView内部POST请求参数_蓝蓝君的博客-程序员ITS301

起因:有些时候自家APP中嵌入的H5页面并不是自家的。但是很多时候又想在H5不知情的情况下获取H5内部请求的参数,这应该怎么做到呢?带着这个疑问,就有了这篇博客。实现过程:方案一:最开始想到的方案是直接拦截H5中所有的请求:webView.setWebViewClient(new WebViewClient() {@Overridepublic WebResourceResponse should...

NSOperation基本操作_小怡情ifelse的博客-程序员ITS301

iOS开发多线程篇—NSOperation基本操作一、并发数(1)并发数:同时执⾏行的任务数.比如,同时开3个线程执行3个任务,并发数就是3(2)最大并发数:同一时间最多只能执行的任务的个数。(3)最⼤大并发数的相关⽅方法- (NSInteger)maxConcurrentOperationCount;- (void)setMaxConcurrentOp

i.MX6ULL裸机开发 二:官方 SDK移植_lqonlylove的博客-程序员ITS301_i.mx6ull

一、I.MX6ULL 官方 SDK包下载二、I.MX6ULL 官方 SDK包简介NXP 针对 I.MX6ULL 编写了一个 SDK 包,这个 SDK 包就类似于 STM32 的 STD 库或者 HAL 库,这个 SDK 包提供了 Windows 和 Linux 两种版本,分别针对主机系统是 Windows 和 Linux。我们不是通过 SDK 进行开发,而是需要 SDK 中寄存器相关定义文件。一共需要如下三个文件:fsl_common.h:位置为 SDK_2.2_MCIM6ULL\devices

Spring IOC相关例题及解析_海拥✘的博客-程序员ITS301_ioc就是指程序之间的关系由程序代码直接操控

个人网站:【 海拥】【摸鱼小游戏】 风趣幽默的人工智能学习网站:人工智能 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 便宜且实用的计算机相关书籍:进来逛逛直接跳到末尾 去评论区领书1、(单选题)下列关于Spring特性中IOC描述错误的是:()A.IOC就是指程序之间的关系由程序代码直接操控。B.所谓“控制反转”,是指控制权由应用代码转到外部容器,控制权的转移C.IOC将控制创建的职责搬进了框架中;并把它从应用代码脱离开来D.当使用Spring的IOC容器..

SQL语句中not in 和not exist的区别_道法—自然的博客-程序员ITS301

in和existsin 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select * from A...

随便推点

max485全双工原理图_MAX3485工作原理详解(MAX3485引脚图_内部结构_典型应用电路)..._weixin_39578197的博客-程序员ITS301

The MAX3483,MAX3485, MAX3486, MAX3488,MAX3490, and MAX3491 are 3.3V, low-power transceivers for RS-485 and RS-422 communicaTIon. Eachpart contains one driver and one receiver. TheMAX3483 and MAX3488 f...

natapp外网穿透使用教程Windows_倩mys的博客-程序员ITS301_windows 使用natapp

1、安装netapp官网地址注册账号,下载客户端2、隧道使用可以使用免费的隧道,也可以购买,此处我购买的是VIP_1型如果需要购买的,可以使用九折优惠码:26BE8B10可以查看我的隧道3、电脑端使用在netapp.exe同级目录下创建文件config.ini,如下图,只需要把自己隧道的authtoken写上,其他不用填。#将本文件放置于natapp同级目录 程序将读取 [default] 段#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置

大数据技术之Flume(概述,安装,案例等)_往事随风_h的博客-程序员ITS301_flume的数据来源有哪些 a exec b syslogtcp c thrift d spoold

第1章 概述1.1 Flume定义Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。1.2 Flume的优点可以和任意存储进程集成。输入的的数据速率大于写入目的存储的速率,flume会进行缓冲,减小hdfs的压力。flume中的事务基于channel,使用了两个事务模型(sender + receiv...

Rocks Cluster中计算节点名称的更改_笑横野的博客-程序员ITS301

Rocks Cluster中计算节点名称的更改​ 在rocks cluster服务器系统当中,默认的计算节点名称是compute-0-0, compute-0-1 … 这样的名称,加之安装过程中不注意,或者在后期的运维过程当中出现某一个节点需要重装,导致节点名称与机架服务器的上下顺序完全无法对应,具体对应情况如下:1 compute-0-9 2 compute-0-0

什么是内核_AlbenXie的博客-程序员ITS301_内核

        内核是操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用。        我们将操作系统的代码分成2部分。内核所在的地址空间称作内核空间。而在内核以外的统称为外部管理程序,它们大部分是对外围设备的管理和界面操作。外部管理程序与用户进程所占据的地址空间称为外部空间。        通常,一个程序会跨越两个空间。当执行到内河空间的一段代码时,我们称程序处于内核态,而当程序...

Publishing to Tomcat v9.0 Server at localhost has encountered a problem._椒盐青芒的博客-程序员ITS301_publishing to tomcat

在使用tomcat启动项目时出现下面这个小问题'Publishing to Tomcat v9.0 Server at localhost…has encountered a problem.Could not publish server configuration for Tomcat v9.0 Server at localhost.意思是配置文件中有重复的信息在eclipse中,找到server.xml把最后重复多出的Context那个删掉就好了,就可以彻底解决问题...