首页 > 其他分享 >初探STM32f407VET6

初探STM32f407VET6

时间:2024-04-04 18:29:28浏览次数:28  
标签:STM32f407VET6 原理图 SWD fmc JTAG 初探 对应 stm32f4xx

一、买到了板子,自己分析引脚功能

我在某宝上买到一块stm32f407vet6的板子,图便宜,结果遇上了个态度差的客服。没有说明,没有资料。不能退换,只能自己想办法分析引脚

在嘉里创找到了芯片原理图(LQFP-100封装),想着看走线猜引脚,结果拿着放大镜找了许久没有进展。这板子上有许多过孔,走线复杂,难以观测。之后发现板子后面有“JL-32F4xx”字样丝印,上网搜之,竟找到类似的原理图!不知是否就是,但没有别的办法,只好尝试。(原理图放在文章末尾)

 有原理图,但不知对应关系。我于是用万用表从VCC和GND入手尝试,先确定了JTAG的引脚。

我使用的是Jlink,好在原理图中标名JTag和SWD兼容。之后又找到如下对应关系,接线尝试之。

JTAGSWD(Single Wire Debug)是两种不同的调试接口,它们之间可以通过特定的方式相互转换。以下是JTAG和SWD接口的接法:

  • JTAG到SWD的接法:
    • JTAG的TMS脚对应SWD的SWDIO脚。
    • JTAG的TCK脚对应SWD的SWCLK脚。
    • 其他引脚,如TDO可以不连接,复位脚RESET和电源监测Vref可根据需要连接。
    • 对于20脚的JTAG接口,TMS对应的是第7脚,TCK对应的是第9脚。1
  • SWD到JTAG的接法(假设JTAG接口支持SWD模式):
    • JTAG的TDO(13脚)对应SWD的SWDIO(7脚)。
    • JTAG的RTCK(11脚)对应SWD的SWCLK(9脚)。
    • JTAG的N/C(19脚)对应SWD的VCC(1脚)。
    • JTAG的2 VCC脚对应SWD的GND(20脚)。
    • JTAG的TDI(5脚)对应SWD的RESET(15脚)。2

需要注意的是,JTAG接口在使用前需要安装相应的驱动,这通常可以从官网下载。而SWD是ARM开发的一种串行线调试接口,它以其所需引线少、易排版、使用简单等优点而被广泛应用。

keil5的jlink驱动成功识别芯片

二、移植正点原子驱动到vscode

 编译报错Error:  #20: identifier "FMC_Bank1" is undefined
      FMC_Bank1->BTCR[FMC_Bank] = 0x000030DB;

看这位大佬的博客,成功解决!

STM32F40xx搭建Keil工程编译错误(stm32f4xx_fmc.c)_..\lib\src\stm32f4xx_fmc.c(868): error: #20: ident-CSDN博客

原因:
stm32f4xx_fmc.c的在固件库中的一个外设,仅作用于STM32F429_439xx、STM32F446xx、STM32F469_479xx、STM32F427_437xx系列的芯片,如果不是这些芯片的话将不会引用stm32f4xx_fmc.h这个头文件,也就产生了宏没有定义的问题。

具体的说,我们在Option for Target的C++选项卡的Define填写了当前所使用芯片的所属系列。

而这个宏在stm32f4xx_conf.h文件中进入的分支并没有引用stm32f4xx_fmc.h这个头文件。


解决:
不要再Keil的分组中添加stm32f4xx_fmc.c文件,删除后重新编译即可。


原文链接:https://blog.csdn.net/lang523493505/article/details/103769255/

 三、配置jlink

基础配置看这位大佬的博文

stm32F4环境的配置固件库的安装与Jlink驱动的下载)与模板工程的创建_stm32f4固件包-CSDN博客

烧录是报错,只需要点击OK,然后在DEVICES栏目输入芯片型号,双击,一切正常

原理图:

【免费】stm32f47vet6核心板原理图资源-CSDN文库 

 

标签:STM32f407VET6,原理图,SWD,fmc,JTAG,初探,对应,stm32f4xx
From: https://blog.csdn.net/python_use/article/details/137376069

相关文章

  • 十七、k8s-helm-初探
    一、为什么要用helm1.1 常规的部署时通过多个yaml实现的由于k8s缺少对发布的应用版本管理和控制,使得部署的应用维护和更新等面临诸多挑战,主要体现在以下几方面:1、如何将这些服务作为一个整体管理2、这些资源文件如何高效复用3、不支持应用级别的版本管理二、helm介绍......
  • 初探c++:string类的进阶运用
    1.begin()和end(),前一个指向字符串的第一个字符,第二个指向字符串的\0 strings=("helloworld"); string::iteratorit=s.begin(); while(it!=s.end()) { cout<<*it<<""; ++it; } cout<<endl;这是正向迭代器的经典应用如果要实现反向迭代器,就......
  • Django——初探路由
    第3章初探路由3.1路由定义规则​ 路由称为URL,也可以称为URLconf,是对可以从互联网上得到的资源位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每一个文件都有一个唯一的路由,用于指出网站文件的路径位置。简单地说,路由可视为我们常说的网址,每个网址代表......
  • 初探OceanBase:一款高性能分布式(实时HTAP)关系数据库的技术剖析
    码到三十五:个人主页心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得!在数据驱动的时代,数据库作为存储和管理数据的核心组件,其性能、稳定性和扩展性都至关重要。OceanBase作为一款高性能的分布式关系数据库,以其出色的技术特性和卓越的性能表现,吸引了......
  • [开源初探]screenshot-to-code:将截图转化为代码
    介绍说明将截图转化为 HTML 代码的工具。该项目可以将屏幕截图转化为 HTML/JS/TailwindCSS 代码,它使用 GPT-4Vision 生成代码、DALL-E3 生成相似的图片。 安装运行为了方便演示及保持原有系统的简洁,将使用 docker 的方式来安装运行 screenshot-to-code。由于项......
  • 某ba官网 wasm初探 第一部分
    声明:本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wxa15018601872       本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲......
  • 空战博弈编程实现——2 初探JSBSIM
    [原][JSBSIM]aircraft飞机xml脚本-南水之源-博客园(cnblogs.com)1安装python版本jsbsim发布·JSBSim-Team/jsbsim·GitHubJsbsim::Anaconda.orgcondainstall-cconda-forgejsbsim2安装jsbsim.exe安装exe之后使用命令符进入所在文件夹,查看相关信息JSBSi......
  • Apache Hudi从零到一:存储格式初探
    在花了大约4年时间致力于ApacheHudi(其中包括3年Committer身份)之后,我决定开始这个博客系列,旨在以有组织且适合初学者的方式展示Hudi的设计和用法。我的目标是确保对分布式数据系统有一定了解的人能够轻松地理解该系列。该系列将包含10篇文章,每篇文章都会深入探讨Hudi......
  • 100道面试必会算法-09-最大子数组和(初探动态规划)
    100道面试必会算法-09-最大子数组和(初探动态规划)题目一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,......
  • IDEA项目路径初探
    IDEA项目路径初探:https://blog.csdn.net/qq_30591155/article/details/109046394?ops_request_misc=&request_id=&biz_id=102&utm_term=idea%20java%20%E7%89%88%E6%9C%AC%E7%9A%84%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95&utm_medium=distribute.pc_search_result.n......