全部学习汇总: https://github.com/GreyZhang/g_FreeRTOS
针对FreeRTOS的完全全新的移植并不容易。我画出来的第二点其实算是对这个难度原因的部分解释,而这个解释其实不仅适用于FreeRTOS,针对很多功能都是如此的。嵌入式系统中的很多功能对于MCU以及编译器等工具有着高度的依赖性,这让软件设计可能存在很多不通用的地方。
移植的时候,有一个算是官方推荐的目录管理模式。既然这是大家约定的模式,后续我自己使用的时候也得尽量用这样的目录管理模式。
针对堆栈在内存中的增长方式,有从高到低以及从低到高两种模式。这个在配置中有相关的选项,可以根据实际的情况进行配置。
从这个描述看,其实这个移植真要是有“方法论”的话,这个方法就是先实现基础功能,或者说实现一个最小系统。有了最小系统,核心的功能点可能已经就绪了,接下来在进行配置的增删修改以及功能的替换。
如果是全新的架构以或者编译器等大的变化性质的修改,推荐先实现堆栈的初始化接口pxPortInitializeStack。因为这个会涉及到上下文的切换,会是OS调度的基础功能。