kurisaW / Summer-of-Open-Source

记录开源之夏
MIT License
5 stars 0 forks source link

【Discussion】一些讨论 #67

Open kurisaW opened 10 months ago

kurisaW commented 10 months ago

关于目前Matter项目有几点问题需要注明,并确定之后的一个开发路线

kurisaW commented 10 months ago

软件包问题

之前的设想就是基于官方的Matter仓库fork一份进行RT-Thread的适配,并且以此作为软件包发布。但是后面考虑到需要对使用的用户负责,也就是需要提供一份用户可基于bsp工程直接下载的软件包进行matter开发,所以此时的Matter适配RTT仓库就不适合作为软件包了,考虑RT-Thread适配Matter仓库和Matter软件包独立开发,具体路线如下:

https://github.com/kendryte/k230_sdk/tree/main/src/big/rt-smart/kernel/rt-thread

kurisaW commented 10 months ago

系统构建

在 RT-Thread 中,使用 scons 构建工具进行脚本构建,而 Matter 则使用的是 GN+Ninga 方式构建。

在某些具体的情景下,如connectedhomeip\third_party\rtthread这里按照GN方式使用的路径是/repo

Q:对于 RTT 混合使用 Matter 官方的 GN 方式构建脚本,RTT 的这种宏定义是否依然有效?

kurisaW commented 10 months ago

待实现功能

1.GenericThreadStackManagerImpl_RTThread<>模板的非内联方法定义的实现

name Description
CHIPPlatformConfig.h
GenericThreadStackManagerImpl_RTThread.cpp
GenericThreadStackManagerImpl_RTThread.h
SystemTimeSupport.cpp
SystemTimeSupport.h

2.在RT-Thread平台提供PlatformManager特性的通用实现

name Description
GenericPlatformManagerImpl_RTThread.h
GenericPlatformManagerImpl_RTThread.ipp

Notes:在该部分实现中关于启用堆栈内部的锁定跟踪功能这部分API暂未实现

3.使用LwIP声明LayerImplRTThread的实现

name Description
SystemLayRTThread.h X
SystemLayRTThread.cpp X

4.构建脚本的实现

name Description
BUILD.gn
rtthread.gni
name Description
BUILD.gn X
device.gni X
name Description
rtthread.gni
... X
kurisaW commented 10 months ago

内核相关

在RT-Thread中,中断中的信号通知使用消息队列还是事件集?或者其他的IPC机制?