1.适用范围
本文档面向SylixOS Lite版程序开发工程师和相关测试人员,协助解决开发或测试过程中需要更换Lite版Base版本问题。
2.原理概述
最新的SylixOS源码库可从git://sylixos.com/libsylixos.git处获取,但获取的代码默认为标准版Base,而非Lite版。Lite版Base与标准版Base代码完全一致,区别在于Lite版Base通过宏控制关闭了部分内核功能和缩减了部分内核资源。区别主要位于libsylixos/SylixOS/config目录下。因此更新最新版的Lite版Base只需要从git库中获取最新Base代码,再使用Beyond Compare工具对比libsylixos/SylixOS/config目录,最后关闭部分内核功能和缩减部分内核资源即可。
3.更新流程
3.1 创建Base工程
使用IDE创建Lite版Base工程,进入工程目录将源码目录libsylixos/更名为libsylixos_bak/,如图 3.1所示。
图3.1 更名libsylixos
使用git工具获取最新Base代码,拷贝到此目录中,这样Base工程就创建好了,之前的libsylixos_bak/备用,如图 3.2所示。
图3.2 拷贝最新代码
3.2 修改config目录
工程创建好了之后就需要修改Base配置,目的是关闭部分内核功能和缩减部分内核资源。使用Beyond Compare对比当前工程下config目录和之前备份的config目录就可以看出区别,如图 3.3所示。
图3.3 对比config目录
可以看出config下的配置有很大的区别,这里分如下几种情况:
1) 关闭功能
部分内核功能在标准版Base中默认是打开的,而在Lite版Base中默认是关闭,这里需要关闭这些功能,如图 3.4所示。
图3.4 关闭内核功能
2) 缩减资源
部分内核资源在标准版Base中定义的比Lite版Base更大,这是因为Lite版Base一般使用于一些硬件资源匮乏的场景,因此需要修改这些配置,如图 3.5所示。
图3.5 缩减资源
3) 版本差异
由于对比所用的代码属于不同版本,因此由于版本的差异会出现一些配置差异,比如某些配置项只在高版本或只在低版本存在,针对这些差异则不用理会,如图 3.6所示。
图3.6 版本差异
3.3 修改Makefile
将Makefile中的变量BUILD_LITE_TARGET置为1,表示当前版本为Lite版,如图 3.7所示。
图3.7 修改Makefile
3.4 刷新编译
最后在编译前需要重新刷新一遍工程,保证文件一致性,如图 3.8所示。
图3.8 刷新工程