内核入门(八)——内核移植

内核移植


  内核移植就是指将RT-Thread 内核在不同的芯片架构、不同的板卡上运行起来,能够具备线程管理和调度,内存管理,线程间同步和通信、定时器管理等功能。移植可分为CPU 架构移植和BSP(Board support package,板级支持包)移植两部分。

CPU架构移植

  为了使RT-Thread 能够在不同CPU 架构的芯片上运行,RT-Thread 提供了一个libcpu 抽象层来适配不同的CPU 架构。libcpu 层向上对内核提供统一的接口,包括全局中断的开关,线程栈的初始化,上下文切换等。
  RT-Thread 的libcpu 抽象层向下提供了一套统一的CPU 架构移植接口,这部分接口包含了全局中断开关函数、线程上下文切换函数、时钟节拍的配置和中断函数、Cache 等等内容。

BSP移植

  相同的CPU 架构在实际项目中,不同的板卡上可能使用相同的CPU 架构,搭载不同的外设资源,完成不同的产品,所以我们也需要针对板卡做适配工作。RT-Thread 提供了BSP 抽象层来适配常见的板卡。
  如果希望在一个板卡上使用RT-Thread 内核,除了需要有相应的芯片架构的移植,还需要有针对板卡的移植,也就是实现一个基本的BSP。主要任务是建立让操作系统运行的基本环境,需要完成的主要工作是:
  1)初始化CPU 内部寄存器,设定RAM 工作时序。
  2)实现时钟驱动及中断控制器驱动,完善中断管理。
  3)实现串口和GPIO 驱动。
  4)初始化动态内存堆,实现动态堆内存管理。

猜你喜欢

转载自blog.csdn.net/qq_33604695/article/details/105693406