关于uc/os-ii在c51上的移植总结

本文总结了uc/os-ii操作系统在C51单片机上的移植过程,包括需要修改的底层接口文件,移植中遇到的挑战,如汇编语言的理解,以及可重入函数和堆栈管理。通过对硬件抽象层的适配,解决了C51内存限制和中断处理的问题,确保了系统的稳定运行。
摘要由CSDN通过智能技术生成

关于uc/os-ii在c51上的移植总结

难以避免会出现理解错误 欢迎指正。

现在我手上的参考书是很薄很薄的用x86作为实验的参考书,提供了不太完整的c51移植代码,移植主要需要修改的底层抽象层文件大致是一下四个:

  • OS_CPU_A.ASM(最重要的一个文件)
  • OS_CPU_C.H
  • OS_CPU_C.C
  • OS_CFG.H(该文件用于系统剪裁等)
uc/os-ii底层需要实现的大致接口如下:
OS_CPU_A.ASM
  • OSStartHighRdy()
  • OSCtxSw()
  • OSIntCtxSw()
  • OSTickISR()
OS_CPU_C.C
  • OSTaskStkInit()
  • OSTaskCreateHook()
  • OSTaskDelHook()
  • OSTaskSwHook()
  • OSTaskStatHook()
  • OSTimeTickHook()

这里的六个函数中也就只有OSTaskStkInit需要改写,另外的五个函数只要声明即可。

移植会遇到许多问题

将一个操作系统移植到不同的硬件环境中,需要修改操作系统硬件抽象层来适应不同的实际环境,这里不仅是与硬件相同,与编译器也息息相关。在不同的硬件环境以及不同的编译器面前可能都会采用不同的策略来实现或者提高效率。这里我用的是C51 STC89C51 以及K

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值