OSAL移植和代码分析
- 前言:
- 在做一个军工项目的过程中,发现前人使用51写的一段代码,发现了OSAL前缀的代码,研究发现是一个基于时间片的类似于ROTS某些功能的代码。
- OSAL实现了时间片轮转、动态内存申请,消息队列这些功能。其实代码的实现非常简介,占用资源也非常少,对于一些资源非常紧张的嵌入式平台,也可以完成稍复杂的功能。
- 在 TI CC2530的 ZIGBEE 协议栈中可以找到OSAL的身影。OSAL的源码总共约1100多行,全部由C语言实现,占用资源约为 RAM:512Byte ROM:2KB
- 本篇约分为四个章节:
1. STM32CubeMx移植OSAL(也可以非常简单的移植到其他的平台)
2. OSAL实现时间片轮转的分析
3. OSAL动态申请内存的分析
4. OSAL消息队列代码的分析 - 本篇文章参考:
https://zhuanlan.zhihu.com/p/490619692
https://github.com/hotsauce1861/gcc-stm32-osal