STMCU小助手
发布时间:2021-12-6 01:22
|
准备工作 在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip8 v2 H w- a9 a F, ]$ \ 安装最新版SES,通过Tool->Package Manager 安装STM32F3的package 2 u8 v% {( J6 V) W 在tool->option中可更改package的存放路径 和 新建工程的默认路径
' e' ~0 S* c- g5 U& I5 o 更改字体、显示行号$ h {* C( R4 G5 }7 A
3 Y- X5 C. `: O: x! `* j$ r& G4 \ 在Project Explore窗口不显示code 和 data的大小, k7 a" H* E4 E9 U4 V8 S( B 1 M! f# i& a+ F, l5 X# R% [+ I
! H( S1 N3 e! z" G* A+ o: m5 @5 w $ i |: w/ g3 ^$ U6 \ 开始建立工程:7 [) q; d' O/ V& `! | 8 r3 c/ M! W1 ?" P- i) m; D( L8 e 第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹) 8 D4 c& X N" g: k I8 t* U5 V
更改芯片型号( Z4 T" }& g* r' ~ + B6 n8 n4 N! Q, T7 _ F& M, ^" Q- X( _
选择需要添加的软件组件: W1 A8 W6 e8 F* }/ p8 s" ~* ~
$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC HAL库) , Z/ C! x- b) l! |' Z5 s7 c6 { $(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC HAL库) $(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数7 d- i/ Z7 S. n. _ j6 A5 _ 7 E0 I, X' c E6 o. R3 Y) b STM32F3xx_Target.js 仿真时使用 thumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用+ x+ v) w, I! s C/ Q/ [# v2 E RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能5 H# c% V4 X+ D; Q 注意1:% T) J/ H* c! T6 }6 L 4 A# h# \; [' M, {, ?; g5 o 根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过* W* B2 n! V c5 A 6 ]6 V8 X6 S) y2 s8 C5 H' Y (也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下). G; ^8 P: B) c7 ~" T: G! e V' ?. O9 w7 x, C) W 注意2: 5 y' k: h7 G8 k6 K7 h. c 左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。 a/ `% O2 c" z8 ~ W' y
- ]( z7 Q T2 ` 我这里只选择thumb_crt0.s,next next finish F c6 A9 W6 J6 z+ i1 o7 \ 8 `5 h" p% L' J/ q 此时工程目录为& L/ |! U( U8 Y
, R6 \6 T0 l) ~2 A
第二步 添加文件 添加start 和 vector文件9 k# s, L( p. } ?& d 7 M4 g; W# k* g( e 建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)2 P# E9 H0 e' T* b+ U# M5 y& | ( u4 y9 U; G, e% `5 |! P1 t 建立STM32Cube_FW_F3文件夹,添加外设库文件/ b/ [) C4 j& f5 D8 |0 D+ R # g% l3 G. L# |% P. x$ N& F
4 i5 N' A6 I R" W
$ O# H5 Q5 A" L& q# ~
. x0 D: o& E2 G0 l% U 2 Q: l' S5 n) Q' l' }5 u% u 第三步 添加头文件路径0 A5 Y. P# V2 G* a/ o0 \9 o" I5 Z
4 d1 x6 N& `, A0 d2 q1 ?& M
/ p; \9 F& ~' I5 Z4 {2 z% J 现在编译就可以通过了 & L" u7 |$ V0 M& }$ R
第4步,连接硬件(目前好像只支持Jlink)
& N" c! h4 L2 W8 I * I. r( L9 f$ @: V $ Q3 r% E# z7 f" P8 F5 I1 I ` 注意:: c' G' }% c8 E- z d$ _/ R/ j ! n4 v- y z' Z/ K8 Z 需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录3 g! L. n7 n( u8 s
; e: w9 b, K) U: d4 u) n) b/ g% m 至此,工程建立成功) {8 ]1 b8 R2 z7 F/ n0 e! u % x, K, }% V# C" H2 S7 r$ `0 d |
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
微信公众号
手机版