STMCU小助手
发布时间:2022-9-4 16:54
|
1、基础工程建立 首先通过STM32CubeMX建立基础工程,首先开启RCC并将时钟配置到72M主频:& {8 I, d3 J. D- K# a ; L0 d3 T: Y8 A. x" t: c
配置串口1用于调试打印:, h% v- S; ]. s3 m$ ^9 S9 H: K
在配置个LED灯的IO:3 m/ n ]7 K h) |+ S& n
将HAL用到的系统滴答定时器切换成定时器7,因为SysTick定时器我们要给rtthread使用:- V/ n% M4 P) m4 Y) I # P( \ y( p* X1 v, j! `
% M& b# f9 i6 N. E, W9 \0 Y 中断分组设置为4:9 }$ c. l, T; d( \$ w- D8 p8 P 1 l4 m; G* v' ~! [! y
取消掉这三个函数的生成,因为rtthread已经把这三个函数生成好了:% d. a1 f- W( N9 P. i3 y & G0 V% c! V) ?' \
最后输出工程:/ n6 B& P# H! G1 C& `! J9 S
5 U T3 p0 \/ q6 g5 L' S
/ Z; e$ `2 {- `, q0 t" `6 z" Z ( S8 @0 b* ?1 y7 J( [/ ` 2、移植rtthread-nano 从rtthread官网下载解压rtthread-nano源码并解压,我们移植需要以下文件:" Y3 \" d& v/ g/ J: J/ T5 g / m) I6 [, r: B5 q& n
将上图文件拷贝到工程目录,如下图所示: 2 h( F- ]$ K" D* b7 d& V4 k
* U% w0 }) q) b 需要将rtthread添加进工程的文件有: ) z: O9 O+ s' W libcpu\arm\cortex-m3\cpuport.c libcpu\arm\cortex-m3\context_rvds.S- Y4 o% v, K2 ~5 R, P src目录下的所有文件 board.c/ R; P8 i1 n: _, k 如下图所示:: v* ], I( ^7 c5 G; ^' M1 u! |
7 v f. n, c: {3 u4 t 然后添加头文件包含:$ n2 o4 @: S6 l1 ` . a# ^: x/ E, {" G& O" _
尝试初次编译,直接编译通过:
接下来还需要修改一下源码,适配HAL库。 1 `9 Z7 m/ b+ ` 首先检查一下rtconfig.h配置文件的各项,在keil中打开可以切换为图像化配置,基本默认配置即可:
然后适配时钟,打开board.c文件,找到rt_hw_board_init函数,改为以下: # t% f& G# `% D7 J( k
- e j) n: o6 O! R 接着在main.c文件中写一个外设初始化的函数chip_init,将CUBE生成的外设初始化函数中该函数内,用rtthread初始化列表的形式进行外设初始化:
9 s- f7 c" z7 K: D# q 然后重定向rt_kprintf函数到串口1:
main函数中创建一个LED灯的任务: ' l! \; q& m: t* w6 t' l
最后编译运行就可以了:' F8 U( N& ~. G5 I2 f3 b( h
2 W5 }4 m I3 u( K% S/ P 3、添加finsh组件 将finsh源码和头文件包含加入工程:
$ z4 {4 ?0 B& N# H" q: a$ w* B( Y& }
$ f* E- S' _0 t4 F 在rtconfig.h中添加宏定义: . @+ I% I. F w& o #define RT_USING_FINSH 4 ^9 `! a, k0 ?: [
* i; e" W: v- p1 t8 E$ l9 E- ~' ? 将mian函数中的打印屏蔽掉,要不然不方便finsh的使用: ) ?3 X/ Y" D4 U1 u$ O, z
9 u) L5 k2 m' D: _+ t/ l; R( S1 d 然后编译下载运行: 6 r( D3 D6 b4 {( b0 ^
% U) e9 J8 F) Q/ \' s 注意xshell的设置,rtthread是用\n作为回车换行,而xshell默认为\r\n才是回车换行,所以xshell需要这么设置才能正常显示rtthread的打印:8 |- M+ w$ D6 Q6 B1 x& F: Q% m4 Q - j4 v' a) n3 g4 s) u% v
/ }6 ~5 j9 \' n: j ———————————————— 版权转载自:雍正不秃头 |
【STM32H5 评测】ADC 电压表
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】介绍、环境搭建、工程测试
#双节活动 1.在CubeMX中引用touchGFX出现的问题与解决
如何将STM32CubeMX生成的CMake工程导入STM32CubeIDE
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
微信公众号
手机版