Open kurisaW opened 10 months ago
之前的设想就是基于官方的Matter仓库fork一份进行RT-Thread的适配,并且以此作为软件包发布。但是后面考虑到需要对使用的用户负责,也就是需要提供一份用户可基于bsp工程直接下载的软件包进行matter开发,所以此时的Matter适配RTT仓库就不适合作为软件包了,考虑RT-Thread适配Matter仓库和Matter软件包独立开发,具体路线如下:
Matter_Adaptation_Layer
:继续作为RTT适配Matter的仓库,方便对后续新发布的Matter版本进行独立开发适配https://github.com/kendryte/k230_sdk/tree/main/src/big/rt-smart/kernel/rt-thread
Matter-SDK
:则作为RT-Thread软件包发布,用户可通过下载该软件包进行Matter的测试开发在 RT-Thread 中,使用 scons 构建工具进行脚本构建,而 Matter 则使用的是 GN+Ninga 方式构建。
在某些具体的情景下,如connectedhomeip\third_party\rtthread
这里按照GN方式使用的路径是/repo
RTT_DIR
宏,也就是官方bsp给出的系统内核路径宏定义;Q:对于 RTT 混合使用 Matter 官方的 GN 方式构建脚本,RTT 的这种宏定义是否依然有效?
name | Description |
---|---|
CHIPPlatformConfig.h | √ |
GenericThreadStackManagerImpl_RTThread.cpp | √ |
GenericThreadStackManagerImpl_RTThread.h | √ |
SystemTimeSupport.cpp | √ |
SystemTimeSupport.h | √ |
name | Description |
---|---|
GenericPlatformManagerImpl_RTThread.h | √ |
GenericPlatformManagerImpl_RTThread.ipp | √ |
Notes:在该部分实现中关于启用堆栈内部的锁定跟踪功能这部分API暂未实现
name | Description |
---|---|
SystemLayRTThread.h | X |
SystemLayRTThread.cpp | X |
name | Description |
---|---|
BUILD.gn | √ |
rtthread.gni | √ |
name | Description |
---|---|
BUILD.gn | X |
device.gni | X |
name | Description |
---|---|
rtthread.gni | √ |
... | X |
在RT-Thread中,中断中的信号通知使用消息队列还是事件集?或者其他的IPC机制?
关于目前Matter项目有几点问题需要注明,并确定之后的一个开发路线