1.准备好UCOSIII的源码,可从官网下载。% `/ E' ~$ u( h1 Y) h 7 a T) C6 @ }1 s, U 2.在工程里创建文件夹UCOSIII等文件夹,并添加文件。 0 G7 s: ]7 b9 N3 I# G+ \6 N; p " x h3 P9 V% J9 q4 a) R& d, v 3.在MDK中创建路径并添加文件。. g) t z: v+ P% I9 E/ I , ~9 Z% ^" w, e4 Z$ p 2 `% R3 w( J$ c3 F! ~ 4.修改相关文件 a.5 d1 `; c: A& S2 S+ M7 c bsp.c和bsp.h:这两个为系统外设的初始化文件,其实可以不用。: o+ H3 j* A% }6 `; e, d, j b. & E! G3 z! U; w( a os_cpu_a.asm汇编文件: 函数类型 PUBLIC改为 EXPORT PUBLIC OS_CPU_FP_Reg_Push 和 PUBLIC OS_CPU_FP_Reg_Pop两个函数可以不用,可以注释掉。! ~: u% w3 b2 w5 ? 代码导引区中的$ |: e4 p4 k$ n0 Q- D; F: _ RSEG CODE:CODE:NOROOT(2) ^: B# i/ U+ b+ x8 v2 p" U" t ;THUMB 修改为 : w! ]$ U: I& D. P" a- @; b AREA |.text|, CODE, READONLY, ALIGN=2 c% l$ i m' Y( H x6 T! d) f+ R THUMB REQUIRE8, D% o* `$ D5 A- p# k# h PRESERVE8 5 q" i w, u1 K$ Z+ T. Z( H; x 这个格式跟下面的汇编语言格式相对应,并且函数名后面的冒号要去掉。. Y- b' H$ L+ h. K3 w c.$ @$ }7 K7 T U1 D7 e! q lib_mem_a.asm汇编文件:5 H! |' t ?/ e% N8 q( \ . Y. N. g( B1 v' {8 J/ _+ l8 f- L 和上面一样 & P+ \0 y% `3 _" E6 o d.( [0 W6 V+ n4 M& F& b3 _ cpu.h:1 y m4 p0 ~* ?) r - J' y; J9 A; S5 B, K2 s" C 注释掉不存在的头文件;修改 5 e" w$ [2 W: R: Y5 e7 } #define CPU_INT_DIS() do { cpu_sr =CPU_SR_Save(); } while (0) #define CPU_INT_EN() do { CPU_SR_Restore(cpu_sr); } while (0) 9 C6 M K/ S; B0 ?' N 以及 #define CPU_MB() _dsb(0xF)//__DSB() #define CPU_RMB() _dsb(0xF)//__DSB() I2 L0 T6 y- Q* [) W- Q #define CPU_WMB() _dsb(0xF)//__DSB() % t) v1 s- n6 a5 B$ @; s/ |! ~ e. cpu_cfg.h:: t3 k( y( O9 u2 [/ M " w) V7 Z. Y5 n: {& j #if 1 8 C5 i/ j+ t$ h5 t #define CPU_CFG_INT_DIS_MEAS_EN 改为 #if 0 #endif% f, [. A# U" o7 W! Y # J. P3 E G$ J2 s ?; |* q, k U f.+ |5 l1 o& Y. I& ~" g! ` os_cpu.h:修改3 w1 V9 o' p0 h h+ h Y/ v $ q: V. A* @' K! i8 W #define OS_TASK_SW_SYNC() __isb(0xF)( l2 a) a4 c! H4 q8 w4 s6 m7 h% } C os_cfg.h:可以根据需要进行相应使能 1 {- C( W. d' ^5 L, N" E# m g.在 上他们27xx_it.c文件中,进行滴答定时器中中断函数的配置,并保证工程中OS_CPU_PendSVHandler 和OS_CPU_SysTickHandler各处名称的一致。! K5 O1 x9 t7 N8 L1 j1 j: n 4 \7 a4 ^: u3 H
|
基于STM32F746G-Discover的扩展电路板
【合集】STM32F7教程、资料大集合
F769 Discovery实现播放U盘音乐的播放器
STM32 VS Code Extension (在Ubuntu上开发STM32,ST官方vscode插件使用指南)
STM32F765@216MHz跑NES模拟器【代码】【视频】
基于STM32F7实现ADC软件触发+轮询采集
基于STM32F7进行ADC采集解决更新问题
基于STM32F7使用定时器经验分享
实现基于STM32F7中周期采集
基于STM32F7中实现采集和中断