基于STM32F429_挑战者_开发板(资料)
----------------------------------
基本信息
采购信息
STM32F429-V2-TZZ 野火STM32F429-V2挑战者开发板 fire-DAP-Normol 野火DAP下载器(普通版)
技术支持
加群 751391396 982814423 833394131 242612031 934981406 577387908 951484006 315236045
----------------------------------
A盘(资料盘)
【野火】STM32F429挑战者V1与V2版本的差异
JTAG 接口 JTAG接口(Joint Test Action Group,联合测试工作组),是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
SWD SWD:Serial Wire Debug串行调试。由ARM公司开发出来的,目的是减少调试接口的引脚数。
建议学习的顺序
也是该盘符文件夹的目录,其内部PDF文件其实就是《STM32库开发实战指南》,即零死角玩转STM32-F429
1 | 00-开发板用前必读 |
0-开发板用前必读
第1章 如何安装KEIL5
第1章 如何用DAP仿真器下载程序
# F429挑战者-视频盘 |
## 1 |
## 2 |
# 基于STM32F429_挑战者_开发板 |
---|
- MMU内存管理单元→微处理器 - 注意微处理器和微控制器的区别, |
- STM32 |
STM32属于一个微控制器,自带了各种常用通信接口,功能非常强大: 1、串口—USART,用于跟跟串口接口的设备通信,比如: USB转串口模块、 ESP8266 WIFI、 GPS模块, GSM 模块,串口屏、指纹识别模块 STM32属于一个微控制器,自带了各种常用通信接口,功能非常强大 2、内部集成电路—I2C,用于跟I2C接口的设备通信,比如: EEPROM、电容屏、陀螺 仪MPU6050、 0.96寸OLED模块 3、串行通信接口—SPI,用于跟SPI接口的设备通信,比如:串行FLASH、以太网 W5500、音频模块VS1053 4、 SDIO、 FMC( FSMC的超级)、 I2S、 SAI、 ADC、 GPIO |
Reference spi是串口还是并口 spi接口和串口的区别 终于搞清了:SPI、UART、I2C通信的区别与应用 USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行接收/发送器 SPI、I2C、UART(即串口)三种串行总线对比 UART和USART的区别(UART vs USART) 区分:串口,COM口,UART,USART |
- 进制基础知识
二进制:01 16进制:123456789ABCDEF 8bit=1Byte 1KB=1024Byte 1MB=1024KB
位bit(字长),处理字长为8位数据的CPU叫8位CPU。 字节Byte=8bit 字Word=4Byte(32位系统)
32位单片机, 232=4,294,967,296=168
8位单片机 2^8=256
2^10=1024 1GB=1024MB=10241024KB=10241024*1024Byte=2^30Byte 即32位单片机,232Byte=22GB
推挽输出,Push–pull output [技术讨论]STM32 IO口输出之推挽输出和开漏输出对比
- STM32命名
STM32是基于Cortex-M3系列的,而Cortex-M3处理器采用ARMv7-M的架构。
STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。
主流产品(STM32F0、STM32F1、STM32F3) 超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+) 高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)
意法半导体 ST Microelectronics集团开发。意法半导体(ST)集团于1987年成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司。意法半导体是世界最大的半导体公司之一,2006年全年收入98.5亿美元,2007年前半年公司收入46.9亿美元。

STM32的硬件结构、软件底层(用库和不用库开发)
作为Cortex M3市场的最大占有者,ST公司在2011年又推出基于Cortex M4内核的STM32F4系列产品,相对与STM32F1/F2等Cortex M3产品,STM32F4最大的优势,就是新增了硬件FPU单元以及DSP指令,同时,STM32F4的主频也提高了很多,达到168Mhz(可获得210DMIPS的处理能力),这使得STM32F4尤其适用于需要浮点运算或DSP处理的应用,也被称之为:DSC,具有非常广泛的应用前景。
stm32型号命名规则 示例:
STM32 | F | 100 | C | 6 | T | 6 | B | XXX |
---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
从上面的料号可以看出以下信息: ST品牌ARM Cortex-Mx系列内核32位超值型MCU,LQFP-48封装闪存容量32KB,温度范围-40℃-85℃; 1. 产品系列: STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU; 1. 产品类型: F:通用快闪(Flash Memory); L:低电压(1.65~3.6V);F类型中F0xx和 F1xx系列为2.0~3.6V; F2xx和F4xx系列为1.8~3.6V;W:无线系统芯片,开发版. 1. 产品子系列: 050:ARM Cortex-M0内核;051:ARM Cortex-M0内核;100:ARM Cortex-M3内核,超值型; 101:ARM Cortex-M3内核,基本型; 102:ARM Cortex-M3内核,USB基本型; 103:ARM Cortex-M3内核,增强型; 105:ARM Cortex-M3内核,USB互联网型; 107:ARM Cortex-M3内核,USB互联网型、以太网型; 108:ARM Cortex-M3内核,IEEE802.15.4标准; 151:ARM Cortex-M3内核,不带LCD; 152/162:ARM Cortex-M3内核,带LCD; 205/207:ARM Cortex-M3内核,不加密模块.(备注:150DMIPS,高达1MB闪存/128+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头;) 215/217:ARM Cortex-M3内核,加密模块。(备注:150DMIPS,高达1MB闪存/128+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头;) 405/407:ARM Cortex-M4内核,不加密模块。(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KB RAM, 1. USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头); 415/417:ARM Cortex-M4内核,加密模块。(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头); 1. 管脚数: F:20PIN;G:28PIN;K:32PIN;T:36PIN;H:40PIN;C:48PIN;U:63PIN;R:64PIN;O:90PIN;V:100PINQ:132PIN;Z:144PIN; I:176PIN; 1. Flash存存容量: 4:16KB flash;(小容量); 6:32KB flash;(小容量);8:64KB flash;(中容量);B:128KB flash;(中容量);C:256KB flash;(大容量);D:384KB flash;(大容量);E:512KB flash;(大容量);F:768KB flash;(大容量);G:1MKB flash;(大容量) 1. 封装: T:LQFP;H:BGA;U:VFQFPN;Y:WLCSP/ WLCSP64; 1. 温度范围: 6:-40℃-85℃;(工业级); 7:-40℃-105℃;(工业级) 1. 内部代码: “A” or blank; A:48/32脚封装;Blank:28/20脚封装; 1. 包装方式: TR:带卷; XXX:盘装;D:电压范围1.65V – 3.6V且BOR无使能;无特性:电压范围1.8V – 3.6V且BOR使能;
参考: 1. stm32型号命名规则 ------------------------------------------------------------
2023-02-28 11:05:37 Written by Fu, Jian - 其它笔记 stm32sd卡写入数据速度太慢?
05 什么是寄存器
星号“”在c语言中有三种含义,第一种为乘,应用于四则运算中,第二种为指针变量的定义,如int a; ,第三种为取地址中的内容,如int b = *a; 。
寄存器编程和固件库编程
STM32丝印与方向; 芯片的引脚,通过C语言编程控制引脚,输出高低电平。小圆点逆时针为引脚排列编号。
STM32内部架构
存储器映射
寄存器映射 总线-总线基地址-相对总线基地址的地址偏移 外设-外设基地址- 寄存器-寄存器地址-相对GPIOH基址的偏移
Cortex-M4内核指的是什么?
芯片能访问的存储空间有多大是由芯片内CPU的地址总线的数量决来定的,STM32芯片内部的地址总线为32根。
2023-07-01 23:01:44 Written by Fu, Jian |
- 处理器 |
功能:运算+控制硬件 地址空间:能够寻址的范围,32位有4GB的空间寻址能力,与硬件的总线带宽相关 |
寄存器的本质是存储器,CPU→寄存器(硬件控制器)→硬件 |
寄存器(控制硬件)=RAM(读写数据)=ROM(读写程序),寄存器与存储器本质是一样的 |
Memory map地址空间 |
ROM RAM SFR |
Python等高级语言无法操纵寄存器。 |
C语言中的宏定义,也就是头文件,对寄存器进行一个封装,是程序的可读性大大增加。 |
- 2.1 寄存器 |
数组(类型相同)和结构体(存储的类型可不相同),在内存里连续存储。 |
应用层程序 底层操作寄存器程序 |
指针 |
寄存器是特殊的存储器,给寄存器地址命名的过程,就叫寄存器映射。 |
寄存器地址映射(0x4001080C)→寄存器名称(GPIOA_ODR) |
32位的操作系统支持4GB的内存,32位操作系统(32位CPU)数据总线宽度为32,内存寻址只能发送32位内存地址,32位能表示的内存地址个数有2^32=4GB,每个地址是一个字节。 |
STM32也是32位芯片,寻址空间也是4GB。 |
Word = 32bit=4Byte,STM32是按字进行访问的,一个寄存器长度为32bit(4个字节),一个GPIO口使用4bit,则一个寄存器可以配置8个GPIO口,两个寄存器才可以配置完一个端口的16个GPIO口。 |
微控制器和微处理器的区别:chatgpt
微控制器(Microcontroller)和微处理器(Microprocessor)是两种不同类型的集成电路,用于执行计算和控制任务。它们在功能、应用和性能方面存在一些重要区别: - 功能和应用: 微处理器:微处理器是一种高性能的中央处理单元(CPU),专门设计用于执行通用计算任务。它通常不包括内置的存储器或外设控制功能。微处理器通常用于个人计算机、服务器、嵌入式系统中的高性能计算任务,如操作系统、应用程序和算法的执行。 微控制器:微控制器是一种完整的嵌入式系统,它包含了一个小型的CPU、内存、输入/输出(I/O)引脚和外设控制电路,通常用于实时控制和嵌入式应用。微控制器的主要功能是控制和监控外部设备,如传感器、执行器和通信接口,通常在嵌入式系统、电子设备和嵌入式控制器中使用。 - 集成度: 微处理器:微处理器通常较大且功能强大,但它们通常不包括内置的RAM、闪存和外设。外围设备和存储器通常需要外部连接。 微控制器:微控制器是高度集成的芯片,通常包括CPU核心、内存(RAM和闪存)、计时器、通信接口(如UART、SPI、I2C)、GPIO引脚以及各种外设(如ADC、PWM、定时器等)。这种高度集成的特性使得微控制器适用于嵌入式应用,因为它们可以在小型封装中提供完整的控制系统。 - 功耗: 微处理器:微处理器通常设计为高性能设备,消耗相对较多的电能。它们适用于需要执行复杂计算任务的应用,但通常不适用于电池供电的移动设备或功耗敏感的嵌入式系统。 微控制器:微控制器通常设计为低功耗设备,适用于电池供电的应用。它们通常采用节能技术,例如休眠模式,以最大程度减少功耗。这使得它们在嵌入式系统中非常有用,特别是在需要长时间运行的电池供电设备中。 - 应用领域: 微处理器:微处理器通常用于一般计算、操作系统、桌面计算机、服务器和高性能应用,如图形处理、数据分析等。 微控制器:微控制器通常用于嵌入式控制和实时系统应用,如汽车控制单元(ECU)、家用电器、医疗设备、嵌入式传感器和物联网(IoT)设备。 总之,微控制器和微处理器是两种不同类型的芯片,各自适用于不同的应用领域和需求。微处理器更适合一般计算和高性能计算任务,而微控制器则更适合嵌入式系统和实时控制应用,具有更高的集成度和低功耗特性。选择哪种芯片取决于您的应用需求和性能要求。
32位控制器-chatgpt "32位控制器" 指的是一种微控制器(Microcontroller)或微处理器(Microprocessor),其数据总线、地址总线或寄存器宽度等核心组件中的某一部分是32位宽度。这意味着它可以一次处理32位(4字节)的数据。这个数字通常用来描述处理器的位数。
具体来说,32位控制器具有以下特征: - 数据宽度:32位控制器的数据总线宽度通常为32位,这意味着它可以同时处理32位的数据。这提供了更大的数据处理能力,有助于执行更复杂的计算和操作。 - 寄存器位数:通常,32位控制器中的通用寄存器(General-Purpose Registers)是32位宽度,这使得它们能够存储和处理32位的数据。 - 地址总线:32位控制器的地址总线宽度通常也为32位,这允许它直接访问4GB(2^32字节)的内存地址空间。注意这里不是Gb,而是GB。 - 算术和逻辑操作:32位控制器可以执行32位宽度的算术和逻辑操作,包括加法、减法、位与、位或、位异或等。这提供了更高的数据精度。 - 内存寻址:由于32位寻址能力,32位控制器可以直接寻址大容量的内存,适用于需要大量内存的应用。 - 性能:32位控制器通常具有较高的性能,适用于需要高速数据处理和复杂计算的应用。
32位控制器广泛用于各种嵌入式系统、通信设备、个人电脑、工控设备、嵌入式开发板和移动设备等各种应用中。这些控制器提供了更多的计算能力和内存寻址能力,适用于处理复杂的任务和大规模数据的应用场景。
06 新建工程——寄存器版
07 使用寄存器点亮LED灯
1-书籍配套例程-F429IG-V1V2
2-STM32F429官方固件库
3-其它资源
零死角玩转STM32-F429
该书名原本是《STM32库开发实战指南》
---------------------------
补充知识
开发STM32常用的开发环境
- STM32CubeIDE
- Keil+CubeIDE
- VS Code
- Clion
----------------------------------
野火B站视频
【野火】STM32 HAL库开发实战指南 教学视频 手把手教学STM32全系列 零基础入门CubeMX+HAL库,基于野火全系列STM32开发板
讲解思路: 外设原理+器件原理+ST官方参考手册(说明书)+ST标准库(标准函数)=外设开发 HAL库视频教学讲解
M3、M4、M7内核开发板 全功能开发板 电机开发板——F407骄阳电机开发板
不同内核,除了内部架构不同,引脚和主频也是不同的。
ARM
HAL,硬件抽象层,不同的芯片的标准库中的标准函数是有区别的,若硬件发生迭代,代码移植性较差,HAL库就是解决这一问题。即在不同开发板上进行移植。
CubeMX,但是HAL库运行效率较低,初学者很方便,但是后面其实可以进行代码优化。
思路: 原理介绍→各种协议、各种器件原理 搭配CubeMX→生成代码
F4系列带有DSP(数字信号处理)和FPU(浮点运算单元)。
工程组中添加文件和批量添加文件
translation 编译单个文件 .C build 编译整个工程的文件,仅编译新修改的 rebuild 重新编译整个工程文件 batch build 批量编译 download 下载
Project Target Source Group
P3 第二讲 KEIL的安装和使用1
Keil包管理软件
- 用于下载安装STM32 F4等系列的芯片(芯片包)
- 可以用于管理第三方组件,也就是一些协议
uVision软件使用
1 | 菜单栏 |
P3 第二讲 KEIL的安装和使用1
---------------------------
野火-F429挑战者教学视频
https://space.bilibili.com/356820657/channel/seriesdetail?sid=1702010
入门篇
中级篇
高级篇
大师篇
----------------------------------
问题集锦
## 编译错误
2023-06-11 10:44:36 Written by Fu, Jian
错误提示如下: main.c(2): warning: invalid UTF-8 in comment [-Winvalid-utf8]
解决方案: Keil v5 MDK 编译UTF8字符串报错的解决办法 –no-multibyte-chars
但进行上述操作后仍报错 ArmClang: error: no such file or directory:
'
后又删除“–no-multibyte-chars”,又编译成功。