FreeRTOS 10.4.3在RISCV(T-HEAD C906)平台上移植过程
好记性不如烂笔头,记录点滴移植经历,一方面便于总结提炼,二是分享,让别人少走有些弯路,自己以后踩坑了也爬的利索点。
首先梳理一下移植框架,FreeRTOS还是非常简单的, 体量上要比RT-Thread,Nuttx等偏重型的系统轻量不少,这可能也是FreeRTOS一般不会用在偏重型方案上的一个因素吧,毕竟仅仅一个调度器,支持的组件和框架较少,所以FreeRTOS比较多的用在如工业控制,智能小家电等功能单一的应用场合。
FreeRTOS V10.4.3的移植
整体的移植框架如下:
下面说下具体的移植步骤:
- 搭建构建环境,准备利用melis上已经建好的环境,借”鸡“生”蛋".目标是移植FreeRTOS 系统,所以这部分不重点记录,总之,环境已建好。
- 用不用sbi? 暂时先用,后续优化掉,因为与Melis相比,FreeRTOS构建的系统相对简单很多,不用支持MMU,整个FreeRTOS系统加上应用都可以运行在M模式,sbi也就失去的存在的必要,但是还是决定先保留着,移植完成后再优化掉。主要考虑三点,1.环境和sbi之间有依赖,包括链接脚本,一些汇编等等,不想这个时
