你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32U3评测】4.初步移植ThreadX

[复制链接]
jundao721 发布时间:2025-6-23 19:24
      ThreadX 是高级工业实时RTOS,专用于深度嵌入式应用程序,实时应用程序和物联网应用程序。其提供高级计划,通信,同步,计时器,内存管理和终端管理功能。其实在使用之前已经读过ThreadX内核用户手册,对ThreadX 的使用大致有一个了解。若以前用过其他RTOS的话,会发现使用结构基本差不多,直接进入使用即可。
' v; Z; d+ ?& H  l4 \       本着先流程,再细化的原则,先使用软件将RTOS的框架搭起来,先点个灯,把使用流程熟悉了,后面再继续深入。
2 D, V0 O* b# [- h- m打开cubemx 发现,内部集成了ThreadX 软件包,直接安装即可。在左侧Middleware and software Packs中可以看到,如图1所示:: E1 d! R6 C, J* \, w
4-1.png 2 I, o. c& W0 a4 q# F/ E
图1
5 J$ `( e- |! Q' b! a, O     配置项目引脚和时钟,如图2所示:
+ A9 {1 a; C. [! |- g 4-2.png : @( d+ _; V6 l6 }; t; j) ?
图2
2 b' P5 }9 r, b) x) h    继续配置ThreadX选项,勾选Core选项,下面还需要勾选生成Generate app Init Code函数功能,如果不勾选的话,还需要自己编写任务函数。其他默认即可,配置如图3所示:
3 |/ S# h% g3 b( L2 }6 P# k 4-3.png ! j) Q5 B$ q. m" {# M
图36 `. r) `3 N9 \. U* H5 x) n3 x
还需要注意一点是Tick 定时器被OS征用了,所以基本HAL延时函数使用的定时器更换成TIM7,如图4所示:
$ n! E/ ^# R/ Z& j 4-4.png
' V& E: M2 o5 u6 h" |2 R$ x9 N! ?4 Q图4- e3 T; p  N! m6 ]- H+ Q5 P  b
    这样配置好以后,Generate 项目。这里编译环境还是选择keil。在main 任务里,编写要实现的点灯功能。如下所示:: x; l4 Z( j, k) p, G+ b3 ]( ^
  1. void tx_app_thread_entry(ULONG thread_input)
    & i- {8 J) {" h& d& Q' j
  2. {
    : j- f) |% b% s& i, A
  3.   /* USER CODE BEGIN tx_app_thread_entry */
    + W) Y9 y$ y: f4 ?9 f
  4.   while(1)# U( O. y# p7 D/ Z. S
  5.   {( V; k4 e- g: h6 e
  6.     HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
    # o! o- m. q0 C$ ?
  7.     tx_thread_sleep(TX_TIMER_TICKS_PER_SECOND);$ B* K! {- ?( }! c, J3 O) c5 i; n2 J# [
  8.   }
    ' E2 a7 q+ k) ^! f) t
  9.   /* USER CODE END tx_app_thread_entry */6 o/ e) N, V: S. k( ~1 Z$ f/ B
  10. }
复制代码

$ F1 i1 y) p; ^% ?' A( L你会发现,RTOS 的大体结构基本都是一样的,编写好简单的测试任务后,直接上电Debug project, 效果如5所示:
0 k5 V# J8 K, Q  X, ] 4-5.gif 1 H/ D: D& Q3 ~
图5
* F, b8 _8 E% M* j
0 m7 O4 m  x1 F! V

+ E0 d1 ?. R/ [5 t   基本的流程熟悉以后,后面就开始测试其他功能。得实际编写测试,才能理解一些功能的应用。
" ]- m9 I# e( V. C$ P: \3 U) K0 [! ?$ O, m3 V. W3 w4 ^0 s. E2 `. N, ^
收藏 评论0 发布时间:2025-6-23 19:24

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版