STMCU小助手
发布时间:2021-12-16 22:00
|
1.准备好UCOSIII的源码,可从官网下载。 + K$ }, \5 x: I' b 2.在工程里创建文件夹UCOSIII等文件夹,并添加文件。4 d& @, M4 ~ s, f 7 p s3 o0 {" @( W+ `7 R
3.在MDK中创建路径并添加文件。4 C6 g; F8 ]; [& e2 Z, b
% F" E/ _ t2 B. S 4.修改相关文件 B- K1 U. o' s/ Y! }: B' k a.( X" p. J. K' N: k$ o4 u bsp.c和bsp.h:这两个为系统外设的初始化文件,其实可以不用。* z& R2 Q7 D: H/ F8 t b.* n9 H% ]) o# F8 h: h- ~; u1 | 2 D* M' ]+ Y7 `& z; n: B os_cpu_a.asm汇编文件: 函数类型 PUBLIC改为 EXPORT' `3 |0 n( f [* R N& z4 |% r) u PUBLIC OS_CPU_FP_Reg_Push 和 PUBLIC OS_CPU_FP_Reg_Pop两个函数可以不用,可以注释掉。 X. A1 {" N8 |; `! F I9 G 代码导引区中的- ^/ ~; M4 O6 R" q- [2 j$ ~ & N1 j H) K& L* Z RSEG CODE:CODE:NOROOT(2) ;THUMB( j& |& _9 t& R$ [6 s' k0 u 3 Q0 G% x! y4 V: ~# y+ q. O 修改为' D. j5 _/ g% |' w AREA |.text|, CODE, READONLY, ALIGN=2# |2 H( z$ }1 }, h9 _) d- P e THUMB* N* L6 ?& K U' Y2 I+ D REQUIRE8 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 c. : v& |" u: g, R/ V: z$ d- c1 K lib_mem_a.asm汇编文件: . j- W& a/ w1 Z5 E: C 和上面一样 / 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) #define CPU_INT_EN() do { CPU_SR_Restore(cpu_sr); } while (0) 以及8 @3 P% |( N8 }$ T5 d2 l { #define CPU_MB() _dsb(0xF)//__DSB() #define CPU_RMB() _dsb(0xF)//__DSB() #define CPU_WMB() _dsb(0xF)//__DSB() & G) X- `$ g; w e. cpu_cfg.h: & 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 * ?# M% x& z1 m! O1 K2 B% y/ M1 X f.! z8 [: l' c% e& [" R os_cpu.h:修改 / c$ g5 j$ H( t4 {4 A #define OS_TASK_SW_SYNC() __isb(0xF) os_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各处名称的一致。 2 Y' i! j, U3 _" {0 @
|
基于STM32F767通过cube配置:QSPI接口读写64M PSRAM+flash参考资料...
STM32F746G-DISCO移植lvgl9.0性能基准测试
STM32F745 USART1 Bootloader启动失败排查与解决的流程分析
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
入门嵌入式,为什么STM32是“优选起步”?
嵌入式-单片机-STM32 EXTI中断
STM32单片机进行除零运算,为何程序不崩溃?
STM32 LL为什么比HAL高效?
STM32时钟详解
微信公众号
手机版