diff --git a/other/novice-guide/figures/5.png b/other/novice-guide/figures/5.png index 922cf5588427f43234c0ea005898e703ebba02d1..6a89707b82099fbe4f6573fab370489ca0e12e29 100644 Binary files a/other/novice-guide/figures/5.png and b/other/novice-guide/figures/5.png differ diff --git a/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/ipc-seq.png b/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/ipc-seq.png index 0f12f7596b425ad90fe866e759194db514108d08..3e0b1949e3fe8b37ed2949414bade5e6ac1b6562 100644 Binary files a/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/ipc-seq.png and b/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/ipc-seq.png differ diff --git a/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/ipc.seq b/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/ipc.seq new file mode 100644 index 0000000000000000000000000000000000000000..390bf5054a1a1bc4685e5cd4ce55e76ad6739df1 --- /dev/null +++ b/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/ipc.seq @@ -0,0 +1,28 @@ +# https://sequencediagram.org/ + +participant ping +participant channel +participant shm +participant pong + +pong->>channel:rt_channel_recv +abox over ping,pong#yellow:ping/pong流程 +activate ping +ping->>shm:lwp_shmget +shm-->>ping:return shmid +ping->>shm:lwp_shmat +shm-->>ping:return shm +ping->>ping:prepare_data +ping->>shm:lwp_shmdt +ping->>channel:rt_channel_send_recv +activate pong +deactivate ping +channel-->>pong:recved_shmid +pong->>shm:lwp_shmat +shm-->>pong:return shm +pong->>pong:handle data +pong->>shm:lwp_shmdt +pong->>channel:rt_channel_reply +deactivate pong +channel-->>ping:recved_reply +ping->>shm:lwp_shmrm \ No newline at end of file diff --git a/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/rt-smart.drawio.png b/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/rt-smart.drawio.png deleted file mode 100644 index 922cf5588427f43234c0ea005898e703ebba02d1..0000000000000000000000000000000000000000 Binary files a/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/rt-smart.drawio.png and /dev/null differ diff --git a/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/smart_arch_full.drawio.png b/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/smart_arch_full.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..6a89707b82099fbe4f6573fab370489ca0e12e29 Binary files /dev/null and b/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/figures/smart_arch_full.drawio.png differ diff --git a/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/rt-smart-intro.md b/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/rt-smart-intro.md index 3b495201c0932b09573e411c0b67e713eb9626d5..5993140a4a24dc1e56bbda8a20f5c4d16ac22022 100644 --- a/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/rt-smart-intro.md +++ b/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/rt-smart-intro.md @@ -1,12 +1,12 @@ -# RT-Thread Smart 架构说明 - -## RT-Thread Smart 的架构 +# RT-Thread Smart 简介 RT-Thread Smart 是基于 RT-Thread 操作系统上的混合操作系统,简称为 rt-smart,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间(32 位系统上是 4G 的独立地址空间)。 +## RT-Thread Smart 的架构 + 以下是 rt-smart 的整体结构框图,在硬件平台的基础上通过 MMU、系统调用的方式把整个系统分成了内核态及用户态。 -![arch](figures/rt-smart.drawio.png) +![arch](figures/smart_arch_full.drawio.png) RT-Thread Smart 的核心实现是 lwP,进程管理模块( `rtthread-smart/kernel/components/lwp` )。它包括了如下的几个部分: