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

【经验分享】UCOSIII系统移植到STM32F7中

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
1.准备好UCOSIII的源码,可从官网下载。
7 x1 y, O% t+ Q* Z, x+ K$ }, \5 x: I' b
2.在工程里创建文件夹UCOSIII等文件夹,并添加文件。4 d& @, M4 ~  s, f
7 p  s3 o0 {" @( W+ `7 R
20180927210216237.png 20180927210239879.png 20180927211528216.png

0 Q4 a- O; j8 }6 M5 H
20180927211543797.png

$ ?. [3 O2 |, k- B* z" c7 r
- Y0 f! b- [; m2 l4 S3.在MDK中创建路径并添加文件。4 C6 g; F8 ]; [& e2 Z, b

/ R: G. [4 ]5 q7 Z% D1 s0 o- {
2018092721263623.png 20180927212651333.png
5 _. ]8 T8 P4 ?$ d

/ t% K2 p+ D2 w2 L5 m5 x$ L* ^% F" E/ _  t2 B. S
4.修改相关文件  B- K1 U. o' s/ Y! }: B' k

+ t1 [7 A2 K6 Ja.( X" p. J. K' N: k$ o4 u

6 ?3 j2 o) i& v5 ]% a# Y( sbsp.c和bsp.h:这两个为系统外设的初始化文件,其实可以不用。* z& R2 Q7 D: H/ F8 t

, T$ m7 Q, K! W& \) k2 ub.* n9 H% ]) o# F8 h: h- ~; u1 |
2 D* M' ]+ Y7 `& z; n: B
os_cpu_a.asm汇编文件:
/ _$ y. \. p/ B# g
2 ]: t2 T- w$ j6 [' h# n函数类型  PUBLIC改为  EXPORT' `3 |0 n( f  [* R  N& z4 |% r) u

0 l: k. d- ~6 Y/ j( K- ~$ jPUBLIC  OS_CPU_FP_Reg_Push 和 PUBLIC  OS_CPU_FP_Reg_Pop两个函数可以不用,可以注释掉。  X. A1 {" N8 |; `! F  I9 G

5 j+ \3 M( n6 ]1 R$ @) r6 _8 Y) a代码导引区中的- ^/ ~; M4 O6 R" q- [2 j$ ~
& N1 j  H) K& L* Z
RSEG CODE:CODE:NOROOT(2)
: l* m+ n* S: x9 E   ;THUMB( j& |& _9 t& R$ [6 s' k0 u
3 Q0 G% x! y4 V: ~# y+ q. O
修改为' D. j5 _/ g% |' w

+ E2 E& n+ Y+ y5 T6 \   AREA |.text|, CODE, READONLY, ALIGN=2# |2 H( z$ }1 }, h9 _) d- P  e
    THUMB* N* L6 ?& K  U' Y2 I+ D
    REQUIRE8
5 k( R7 \: d$ y! j( D2 X4 o    PRESERVE8$ t$ |2 ]4 c' _4 x! b3 J
" H- N+ V4 ~1 s+ t& `3 `
这个格式跟下面的汇编语言格式相对应,并且函数名后面的冒号要去掉。+ ~. c& R+ i, E9 K! l! f9 I0 N: u

/ Z1 e/ p5 B5 S3 x/ Bc.
+ Y/ m6 Q% b6 ?* S. }6 R1 o- {: v& |" u: g, R/ V: z$ d- c1 K
lib_mem_a.asm汇编文件:
9 X8 v: o' p9 U9 w7 O3 l6 p( @+ H. j- W& a/ w1 Z5 E: C
和上面一样
, H1 Y' ?. W5 L; v- D0 B9 d( b/ g- {9 w4 X0 p+ O
d./ L# s# ~& I0 e9 ?
" ?' z5 j) n: Q7 d# e# c: Z; s( p; |
cpu.h:7 N' ?* I; U8 y, o$ T% U( p2 Y
  h6 K; f3 @% {: h' c1 f3 M
注释掉不存在的头文件;修改" O" |( \, d- C
$ ?  X" o5 S/ u
#define  CPU_INT_DIS()         do { cpu_sr =CPU_SR_Save(); } while (0)
8 }8 ?8 b0 C& E#define  CPU_INT_EN()          do { CPU_SR_Restore(cpu_sr);  } while (0)
+ N. h) l5 [# ~3 H5 ^
2 [+ c! d' V5 {" T, l以及8 @3 P% |( N8 }$ T5 d2 l  {

, U5 q3 d; W) w& C) _  l) i. i* S#define  CPU_MB()       _dsb(0xF)//__DSB()
! E2 D6 ~! @7 m2 t#define  CPU_RMB()      _dsb(0xF)//__DSB()
$ \9 k' `8 o+ R4 ?: j$ U/ R; `#define  CPU_WMB()      _dsb(0xF)//__DSB()
; D/ p7 v- D8 R5 @; \& G) X- `$ g; w
e.
! ^) V& a& Z' @' W0 z/ A! g
: s1 |- t+ X: z5 jcpu_cfg.h:
5 c' k: B, K. a$ d& G7 {8 C3 c7 J# O' s: _' ]. e
#if 1                                                        6 z  k  ^- k5 Q1 l# ]* J3 F" O2 m
#define  CPU_CFG_INT_DIS_MEAS_EN                     改为 #if 06 @. _5 {* K5 ?: V# q
#endif
5 l6 w* j& x* J% ?# ^* ?# M% x& z1 m! O1 K2 B% y/ M1 X
f.! z8 [: l' c% e& [" R

. V6 c1 H7 i) B$ W3 p2 T) Sos_cpu.h:修改
. i9 u3 ]- ~$ C4 |* _' h& \/ c$ g5 j$ H( t4 {4 A
#define OS_TASK_SW_SYNC()         __isb(0xF)
4 C4 H/ R7 h; K- \2 }$ _
8 ~5 {3 U: B( K8 {. R. g. Qos_cfg.h:可以根据需要进行相应使能0 I, F, \  X, M- a" ?& ]# [
, I# O! m& Q- H/ ~: Q% T
g.在 上他们27xx_it.c文件中,进行滴答定时器中中断函数的配置,并保证工程中OS_CPU_PendSVHandler 和OS_CPU_SysTickHandler各处名称的一致。
7 l- Z% s& Z2 }, }' Z: R7 ^( h2 Y' i! j, U3 _" {0 @
  1. void SysTick_Handler(void)
    , ~1 O" t' Y0 Q- ^% ?0 v5 _' z
  2. {, L! z2 v" [: [8 W' W, H
  3.         CPU_SR_ALLOC();7 J% q' @7 V+ a. e, r* K
  4.         CPU_CRITICAL_ENTER();
    ; b7 U& C  o# D* P+ D
  5.         OSIntNestingCtr++;# a0 H  ~3 P, R3 ^* t3 F4 D, j
  6.         CPU_CRITICAL_EXIT();
    . U  B/ }  X( F  E7 c# F
  7.         OSTimeTick();
    9 m: U! t1 o8 a4 C" W# x9 p
  8.   HAL_IncTick();
    1 N1 J) o' C7 ]" e
  9.   OSIntExit();- L2 P% g, f) Z% o" d0 _$ h
  10. }
    9 D, D( z: h+ d4 \% h3 G* B

  11. 7 j* \/ O6 O( j* V) Q& l2 G6 R
复制代码

; ~( H  J8 ?7 T2 A2 ~: I# N
赞 收藏 评论0 发布时间:2021-12-16 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版