STMCU小助手
发布时间:2021-12-6 01:22
|
准备工作/ h, h4 b6 l1 ]7 `3 J; [2 n 9 u) \/ C4 T$ p 在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip7 f# o3 m3 x" u5 H; k 安装最新版SES,通过Tool->Package Manager 安装STM32F3的package 在tool->option中可更改package的存放路径 和 新建工程的默认路径7 {0 g. J; l5 I# @ & a" t" }, T3 j% V7 p% D' X+ `# H
9 m8 _) ~2 n% }( Z8 Q2 }6 Y* a3 r 更改字体、显示行号 # J8 s5 Y- s+ ?. Z8 I
在Project Explore窗口不显示code 和 data的大小/ d( H5 g' C/ Y. n$ e) | $ E8 s9 b0 H9 Z4 z! M
9 p6 }/ p$ ~* F! J2 A) t 开始建立工程:- R) X n" N2 ?. D - x5 p# ^, k u0 D9 u 第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹) . U0 W3 z1 L7 h' F# m. }7 ?+ `9 O# [% A
更改芯片型号( R2 M6 v/ \$ q* L$ a- D& T
选择需要添加的软件组件$ H, t7 {1 q( ~# b
$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC HAL库)$ _; }- j# N% X: J$ R' Z& z+ E 9 e8 \2 q( c" o5 z( { $(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC HAL库)& x5 @9 ]% H- p" k; I. ^ * m. y2 a5 k3 j9 n $(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s8 ^/ X8 s ?# @$ G; H9 J0 h 7 o: ?- v: P; k2 k( p8 m) D STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数: _! J# Z2 ]/ Y1 C ' k x I9 [/ [/ V STM32F3xx_Target.js 仿真时使用 1 z6 E! ?6 w3 _# _ thumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用8 |+ m2 \9 V7 Z& h* b ( v3 {1 {+ [5 E RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能3 B) a7 R8 q0 F$ d, f8 p6 v- P : W- {9 b9 z7 l$ ` 注意1:, |- G- Q: l. Y 根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过 (也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下)) z0 v5 V+ H: ? 9 g9 Y# C* ~, c* J( |; s6 D/ } 注意2: ' W: P$ e+ P: i2 z' ]/ k/ m7 ^; o 左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。
; y2 l- l" F. l2 R( G4 X" H 我这里只选择thumb_crt0.s,next next finish 此时工程目录为2 }3 B1 A3 x$ s, H+ c& X$ Z
2 e; _" |% Y! C/ { 第二步 添加文件 * ?/ j4 n* [8 i) k" L* \6 B/ ] 添加start 和 vector文件 建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)/ e' A/ V( ~3 { d 建立STM32Cube_FW_F3文件夹,添加外设库文件
$ {' F/ Z: `1 ~& P
) `* R/ i" g) C7 v4 d. r0 ^ , s: z8 g( G+ y9 v1 j8 H) l( z* i 第三步 添加头文件路径
% N& n, ~. m/ z, J7 o$ j9 n7 m ( X ^) K& l; L6 n/ x7 R. _/ \0 y 现在编译就可以通过了% u: }! @8 B! p7 O
8 Y1 J G" x9 R8 k$ [ 第4步,连接硬件(目前好像只支持Jlink)# K+ S5 }: j: |" O! Z
0 _. D. _# E1 z* W/ s , v6 U( _1 [ O3 C5 |& A+ ]' H) Q( C 注意: / O! C3 h9 L* Z; ? 需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录
: F R, l3 U Z0 j; |, v( ] 至此,工程建立成功 1 i8 S( }2 e5 a: u# A1 y: S " d5 |$ n: F6 k |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
基于STM32F303双电机FOC驱动: 无感原理图/BOM表/代码等开源...
stm32cube_pwm配置
stm32f334驱动1.69寸SPI LED屏
stm32f334c8t6实现一个简单的温度湿度检测器
stm32f334温度湿度显示器开发板
stm32f334_硬件IIC跑u8g2移植步骤
详解STM32单片机的堆栈
stm32f334_第二十三章基础定时器6/7非中断方式单次触发
stm32f334_IIC通信点亮0.96OLED
微信公众号
手机版