不同的 RISC-V 内核芯片,我们会发现一个很有意思的现象:任务切换代码经常有一些不一样的地方,比较碎片化,因此我们会发现,有时,很难比较统一的将任务切换代码都放在 common 文件夹中,查看 libcpu
isc-vSConscript 文件,我们会发现,不同内核架构,有时无法使用 common 文件夹中的任务切换代码
RT-Thread RISC-V 内核移植 API 实现
内核移植的主要工作内容,主要就是实现上面 libcpu 移植相关的 API,相关实现函数也位于上面提到的 libcpu/risc-v 文件夹中,因为不同的 RISC-V 内核,任务切换相关 API 实现也不完全一样,下面我们以 GD32FV103 芯片为例,将介绍一下,如何实现一个 RISC-V 内核架构的芯片移植工作。
GD32VF103 是 bumblebee 内核,相关的内核移植 API 主要位于如下文件 夹中,接下来,我们依次介绍内核移植 API 的实现