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

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

[复制链接]
STMCU小助手 发布时间:2021-12-16 22:00
1.准备好UCOSIII的源码,可从官网下载。1 B/ ^9 H4 s( r9 g6 q
/ S: j  ^; G7 }; B/ A8 M
2.在工程里创建文件夹UCOSIII等文件夹,并添加文件。3 A) [. i6 w/ I5 Y9 f) c2 y

1 E: T2 X/ s, T# `( U1 Q8 ~0 b
20180927210216237.png 20180927210239879.png 20180927211528216.png

3 |2 P7 B# y2 H) V6 _( {
20180927211543797.png
" |6 s* w7 X# j+ m' t2 k
0 U' P+ e% I7 G# D5 G+ b
3.在MDK中创建路径并添加文件。
* E; m' D; t5 p! o6 f8 }* B" o7 T$ M( n- J% n1 U) d1 h
2018092721263623.png 20180927212651333.png
/ g7 y, {' y4 \+ i8 m+ g. R* G
! L( Z" v2 {* H" m
, L/ x- y/ }  S$ @, Y. C, `" t+ d
4.修改相关文件/ p% y5 p  V4 m" b+ Y" D1 y

* o/ Q" _2 _8 S5 m6 M* Va., I2 f4 u( Q' ~( [: U; b  S- Z
! I$ v+ o* y; p: b
bsp.c和bsp.h:这两个为系统外设的初始化文件,其实可以不用。
* K! u% }. R- g# m$ O) C) n1 U1 w4 b9 L+ c( b$ U
b.
, n) y2 b8 i( E/ K
5 h4 X2 I6 d0 |) ]# ^/ T% Pos_cpu_a.asm汇编文件:
5 l7 b! o6 y$ v4 ]- T+ f1 m: O7 P( a4 d* a5 g6 k  y( l# j% S
函数类型  PUBLIC改为  EXPORT
/ d& G  u+ n( {
( L+ W) V$ R6 EPUBLIC  OS_CPU_FP_Reg_Push 和 PUBLIC  OS_CPU_FP_Reg_Pop两个函数可以不用,可以注释掉。
4 [% H4 l& K) M8 h' ?" y1 H3 Q3 g" H! n4 `# E
代码导引区中的
& u* p! g' e8 M+ v% r
' m% y$ G: V) C, B7 W$ b. P. }  nRSEG CODE:CODE:NOROOT(2)8 c* A* R" x3 `& o+ g5 |, x
   ;THUMB1 c  @: j9 r5 v5 G/ y. q* D8 a

+ j" e- b4 k; g& r修改为
! ^9 W# Z. e! ]+ O
- e# D2 l1 X( X+ f  G  J   AREA |.text|, CODE, READONLY, ALIGN=2" }! p- Y3 g# z* `6 q
    THUMB3 f# Z. C) W3 F" Z0 V* Q
    REQUIRE8
/ k* G4 N7 q) }3 p8 s2 t    PRESERVE8
/ X4 L0 H/ R' ^2 X0 }7 c* J" a  J  g; _. y! M# L  E
这个格式跟下面的汇编语言格式相对应,并且函数名后面的冒号要去掉。; v  S4 g6 U2 n# V- g
" H/ u  \* Z* `- Q6 _
c.$ Q$ }) o# p: W1 r6 X* z4 e

+ o8 s/ Z  b9 t2 _* b; U* xlib_mem_a.asm汇编文件:; l# ?, d# U$ B: r

+ g" V; B+ X+ t& e1 \9 K: d和上面一样5 f0 e. c- z$ T  Q/ d

+ P3 ]7 ~8 v) P9 Zd./ R% r, h, [% J' u( }

# G( j; m$ [$ Fcpu.h:
( P0 Q: r. H  w6 m9 i, M  X5 J) |8 \3 V; Y; z3 _. n: P3 N7 Z' ?
注释掉不存在的头文件;修改, X/ M  |' W/ {' Y% W
7 i% G; G' I. R$ s# l# [
#define  CPU_INT_DIS()         do { cpu_sr =CPU_SR_Save(); } while (0)' S/ H* n0 M) C0 \
#define  CPU_INT_EN()          do { CPU_SR_Restore(cpu_sr);  } while (0)
' x: {/ ~  R$ i, \! h  L2 {/ d& D- a3 h0 D' A# S2 k% P
以及
; `4 o. T/ g2 V; \, k" r: l: x: }- D0 O, ^% w- V
#define  CPU_MB()       _dsb(0xF)//__DSB()8 q- t( P# H! S5 L  [3 l6 j
#define  CPU_RMB()      _dsb(0xF)//__DSB()8 e7 [) _+ E5 |8 d0 w9 Q% v
#define  CPU_WMB()      _dsb(0xF)//__DSB()2 L4 N4 W& F! ^2 X$ T0 S7 E7 F
9 c3 S* G! F& d0 y* ]5 ]" b% f0 i
e.3 u0 i% g+ b( y' O5 i; Y. r; k
  ]5 n! m" l" F8 R! f
cpu_cfg.h:
' u6 I- C4 c9 D5 A* T/ A+ D1 R, ^: M# G$ [$ d4 o
#if 1                                                        
. g7 E$ ?1 t7 f/ E* F/ Z#define  CPU_CFG_INT_DIS_MEAS_EN                     改为 #if 0
( N+ j; D/ e9 R6 o  E7 d#endif0 Z% \* ?) z6 m- l: o8 g/ ]0 X. l

& \( }' ?  j% M# P: F6 b5 f2 if.& _, C% t5 a, q4 x- u) I2 Y3 ~
" x* u/ e% B! T8 }  W3 N( ~7 p. E
os_cpu.h:修改4 G; m' Y0 f, P. B2 p6 p% J' N
, J6 H5 j" a) M- _& [9 f0 }6 T
#define OS_TASK_SW_SYNC()         __isb(0xF)+ ?, L' t6 l3 J' k  o* X

# g. [' g0 U9 E1 u: P1 c3 w$ Nos_cfg.h:可以根据需要进行相应使能
: s: g5 F' h/ P5 f6 d
+ i. K; p4 T8 u3 R8 q; Sg.在 上他们27xx_it.c文件中,进行滴答定时器中中断函数的配置,并保证工程中OS_CPU_PendSVHandler 和OS_CPU_SysTickHandler各处名称的一致。+ T1 Q8 ^3 B, `
* f. L! k/ P3 y3 A" g& E7 u
  1. void SysTick_Handler(void)% d/ M: @. M$ O- n$ r
  2. {
    # N" M4 p$ |$ g6 H9 l9 p
  3.         CPU_SR_ALLOC();* m$ p! ]+ z8 y/ r
  4.         CPU_CRITICAL_ENTER();( x4 z7 n% [* J* ~' I; R" x
  5.         OSIntNestingCtr++;  \- C  J& U9 }0 K! X. C
  6.         CPU_CRITICAL_EXIT();! c5 K* J; U' G( [% F, H3 q: \* o
  7.         OSTimeTick();  t6 z9 f+ Z) I/ Z* j2 o
  8.   HAL_IncTick();
    8 o: G9 h* k% p' o( T
  9.   OSIntExit();
    7 j) U4 X# D) G- E
  10. }
    ( w' x8 M# A) w/ H2 {- i
  11. & L/ j; a8 E) K$ I  Y9 e7 d1 W
复制代码

* b! N( C% A% o0 W/ O& g
收藏 评论0 发布时间:2021-12-16 22:00

举报

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