1.准备好UCOSIII的源码,可从官网下载。 4 }8 v1 n! n4 N G7 j, P3 H/ L 2.在工程里创建文件夹UCOSIII等文件夹,并添加文件。+ `- ^6 _( H) {) } ) C) }# k7 }) }5 p3 ^ $ f& x" f1 @$ U& T' { 3.在MDK中创建路径并添加文件。8 t8 @3 t D l( J. Z0 T- r: S' ] q 4.修改相关文件, t' u! [1 ^7 ^) S- P a. bsp.c和bsp.h:这两个为系统外设的初始化文件,其实可以不用。 b. os_cpu_a.asm汇编文件:8 Y) n5 c9 G7 l; h/ c1 b0 a2 V 函数类型 PUBLIC改为 EXPORT PUBLIC OS_CPU_FP_Reg_Push 和 PUBLIC OS_CPU_FP_Reg_Pop两个函数可以不用,可以注释掉。4 n: J/ X0 O9 \; Z5 B 8 X' W6 x1 ]6 N1 i! }' h7 D1 g 代码导引区中的 RSEG CODE:CODE:NOROOT(2)3 h0 e! g/ P- [- F& g. Y ;THUMB6 n$ V) x# F( M" X9 F+ f 修改为 1 I o9 F- M( z" ^! ^" _ z. x% E AREA |.text|, CODE, READONLY, ALIGN=2( c" [. w' N3 y3 Y- q, A THUMB, L5 ]( o) s* X. }# C REQUIRE8 PRESERVE80 u' n8 h$ T% C% G% d. ` 这个格式跟下面的汇编语言格式相对应,并且函数名后面的冒号要去掉。 ! D( E8 ]2 k; E7 d# Z8 @0 G" Y c./ H3 e, J. }# ~2 c ' P% l- ?0 M* p' M- n lib_mem_a.asm汇编文件: . K3 ~# A( k: c) o o' D: J 和上面一样5 V* r& h7 [: ~ d. + K& W( F$ M T6 O& M, ^ cpu.h: " y7 d' }: p" D+ I 注释掉不存在的头文件;修改 2 _ F7 V- j$ Q, V6 f: K H8 V #define CPU_INT_DIS() do { cpu_sr =CPU_SR_Save(); } while (0) #define CPU_INT_EN() do { CPU_SR_Restore(cpu_sr); } while (0) - }6 [5 f) E2 [2 ]7 i$ O, e" m5 K L8 T $ U5 g4 _1 q" a+ h5 N0 N# a) p 以及 #define CPU_MB() _dsb(0xF)//__DSB(), U" S% g0 y. C: b& A #define CPU_RMB() _dsb(0xF)//__DSB(). A5 {6 U$ r3 ~2 _ #define CPU_WMB() _dsb(0xF)//__DSB()5 u1 T7 T+ [; `) A1 c$ h ) t6 Z6 H1 Q6 i! f6 M e. 0 j# ?/ Y! A) Z/ j {. s% l cpu_cfg.h:9 @3 o* x' _# S9 s #if 1 #define CPU_CFG_INT_DIS_MEAS_EN 改为 #if 0 #endif - F7 U4 k7 Y$ T4 g* E f.9 ?2 C% x/ }- q( i8 g- l 6 y- J" E6 W5 D: y4 L6 x! C os_cpu.h:修改 #define OS_TASK_SW_SYNC() __isb(0xF)8 f- Q' V( D4 b* i: ^$ F# S ' [7 Z+ f2 P# m4 O3 F5 f6 H) A# v1 r os_cfg.h:可以根据需要进行相应使能 g.在 上他们27xx_it.c文件中,进行滴答定时器中中断函数的配置,并保证工程中OS_CPU_PendSVHandler 和OS_CPU_SysTickHandler各处名称的一致。
|
基于STM32F746G-Discover的扩展电路板
【合集】STM32F7教程、资料大集合
F769 Discovery实现播放U盘音乐的播放器
STM32 VS Code Extension (在Ubuntu上开发STM32,ST官方vscode插件使用指南)
STM32F765@216MHz跑NES模拟器【代码】【视频】
基于STM32F7实现ADC软件触发+轮询采集
基于STM32F7进行ADC采集解决更新问题
基于STM32F7使用定时器经验分享
实现基于STM32F7中周期采集
基于STM32F7中实现采集和中断