STMCU小助手
发布时间:2021-12-6 01:22
|
准备工作 在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip. S% e1 v. H$ z2 C- v0 D- Z6 l9 a ; @( j4 H. q7 i6 z* x }8 ` 安装最新版SES,通过Tool->Package Manager 安装STM32F3的package! Q: A; r$ e* s* {8 u0 I8 H1 K 5 Y) r: Z- a8 l( J 在tool->option中可更改package的存放路径 和 新建工程的默认路径 6 n0 h1 _! U2 ]; x, C
更改字体、显示行号 ! S9 I& T5 G4 A6 S- L) r! J* T
在Project Explore窗口不显示code 和 data的大小 - Q- @" S7 Y" b
6 h6 j3 f# R7 C ! e' m" m ^0 M0 D9 L+ Z9 J 开始建立工程:0 F O2 K2 P6 a. S c4 p 第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹), w1 n0 x9 H3 M- g2 L- }2 c
更改芯片型号 ) p/ b8 U& o' |) Q- p1 a$ z
6 V# u# t5 L2 w4 z' U1 K0 j 选择需要添加的软件组件9 p$ _5 e. H, K G/ O ' O3 Q9 Y# N% V ?9 n7 N/ A
$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC HAL库) $(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC HAL库) $(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s6 O1 d; O4 A% r/ w ( R" B: B6 {0 p3 s/ [$ J/ S9 d/ i STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数2 k9 z4 k# `8 Y4 x) r# { STM32F3xx_Target.js 仿真时使用/ e9 z: d& ]6 H8 {; n" q/ h 4 I1 y+ ]- |4 R thumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用 RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能8 [1 r5 f: ?" q/ j % \3 C/ [7 W5 E6 ]' e% w! I 注意1: - }; G1 h1 `& J& i5 B/ C( \5 r' \ 根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过& A3 w3 N& N7 g (也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下) P5 d$ M! r* y% d2 R' P8 K5 b$ \, R7 l 注意2:# N) \1 o. l: e1 r9 m3 R( ^- h+ s 左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。' X, r$ d7 y' \; U }
我这里只选择thumb_crt0.s,next next finish ! J2 @, b2 g$ u: L$ i 此时工程目录为# {! C0 m3 E% M( m5 U& R
9 W0 u" D$ f9 P1 |5 h$ \
( T- u- V" |& P 第二步 添加文件# d: p# G1 q* d& P, I + S _; Q- B8 @. J 添加start 和 vector文件 & K4 C) a7 q- J- {9 j9 u; a9 i: ^+ ? 建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)& `7 _& |$ l p 建立STM32Cube_FW_F3文件夹,添加外设库文件9 k: d1 }8 {3 J7 w
4 t2 F' Z. g% _- c) e: w
& F( e# b4 k2 V' S+ W
/ ~; B1 ^. ]: Q+ g5 R 第三步 添加头文件路径
4 {6 y* p5 j _/ d* A9 ~
* @' s: u+ V( y. X* k& e 现在编译就可以通过了
第4步,连接硬件(目前好像只支持Jlink); @& s: o3 B' F" { " I. _* i) f O E g
0 P, P/ r7 g5 x& z0 ^' a7 m6 f7 W 0 ?2 f% P0 H: ]" ?0 z 5 v! a: a; i: }; i) | 注意: 5 W0 l$ t; r; Y, h; F* l+ D 需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录9 X/ B$ s; k6 s+ {+ U* H7 ~) `+ [ 2 W6 u. H6 i( X7 ?- X m
至此,工程建立成功 . p7 K& J; N3 F& ?7 g |
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
微信公众号
手机版