mcu操作系统移植的本质

物联网实时操作系统一般由如下组件构成:

架构无关功能

多任务调度

多任务通信

堆内存管理

定时器

中断抽象

c库

通讯协议栈

文件系统

其它

架构相关

核心启动代码

核心外设驱动

特定外设驱动

电源管理

由于mcu应用场景的特殊性,硬件上的定制要远远大于pc的x86cpu。造成了在一个特定mcu芯片上实现完整的操作系统功能几乎不可能。

mcu操作系统移植分几个层次,首先是核心芯片启动代码的移植,实现能够跑核心的操作系统功能,如中断向量、时钟等。其次是核心外设的驱动移植,比如UART用来调式,还有其它核心设备驱动,如i2c、spi等。最后是基于核心外设实现的特定外设驱动代码,如基于spi的flash移植。

其中造成很难有统一操作系统编程模型的原因是管脚复用,mcu的管脚为多组gpio,根据需要复用为多组i2c、spi等外设,使用哪组同样功能的外设实现该功能在设计电路图时是不确定的。因此,移植中很重要的一点是在通用外设驱动前确定管脚的复用情况。

转载于:https://my.oschina.net/assange/blog/1058493

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值