From 95068842d47a165e9ff021164a80e0ac4e8c89c8 Mon Sep 17 00:00:00 2001 From: yangjie Date: Thu, 25 Feb 2021 16:06:17 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E3=80=90=E5=A2=9E=E5=8A=A0=E3=80=91?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0rtsmart=E6=96=87=E6=A1=A3=EF=BC=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0sidebar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rt-thread-version/rt-thread-smart/_sidebar.md | 1 + .../rt-smart-lwp/figures/.DS_Store | Bin 0 -> 6148 bytes .../lwp_intro-Kernel_Address_Space.jpg | Bin 0 -> 13989 bytes .../figures/lwp_intro-Memory_Map.jpg | Bin 0 -> 46952 bytes .../figures/lwp_intro-PageBuddy.jpg | Bin 0 -> 18054 bytes .../lwp_intro-Process_Organization.jpg | Bin 0 -> 27673 bytes .../figures/lwp_intro-Process_Resources.jpg | Bin 0 -> 49073 bytes .../figures/lwp_intro-RT_Object.jpg | Bin 0 -> 92977 bytes .../figures/lwp_intro-Threads-FDT.jpg | Bin 0 -> 32854 bytes .../figures/lwp_intro-Threads.jpg | Bin 0 -> 18095 bytes .../figures/lwp_intro-Total_Address_Space.jpg | Bin 0 -> 18464 bytes .../rt-smart-lwp/figures/lwp_intro.drawio | 1 + .../rt-smart-lwp/rt-smart-lwp.md | 185 ++++++++++++++++++ 13 files changed, 187 insertions(+) create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/.DS_Store create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Kernel_Address_Space.jpg create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Memory_Map.jpg create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-PageBuddy.jpg create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Process_Organization.jpg create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Process_Resources.jpg create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-RT_Object.jpg create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Threads-FDT.jpg create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Threads.jpg create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Total_Address_Space.jpg create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro.drawio create mode 100644 rt-thread-version/rt-thread-smart/rt-smart-lwp/rt-smart-lwp.md diff --git a/rt-thread-version/rt-thread-smart/_sidebar.md b/rt-thread-version/rt-thread-smart/_sidebar.md index f9c2ca6..64bb27c 100644 --- a/rt-thread-version/rt-thread-smart/_sidebar.md +++ b/rt-thread-version/rt-thread-smart/_sidebar.md @@ -4,3 +4,4 @@ - [入门指南](/rt-thread-version/rt-thread-smart/rt-smart-quickstart/rt-smart-quickstart.md) - [架构说明](/rt-thread-version/rt-thread-smart/architecture/architecture.md) + - [进程概述](/rt-thread-version/rt-thread-smart/rt-smart-lwp/rt-smart-lwp.md) diff --git a/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/.DS_Store b/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 l^li!Q5C}nM7rRW=>!>_`9r literal 0 HcmV?d00001 diff --git a/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Memory_Map.jpg b/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Memory_Map.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9b34d52f1ed435c7a6789eac63436a12a314ccfa GIT binary patch literal 46952 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

q%0vgl@t)|gS6n(!#fK~-m@G8;ZuAb|9hI# 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 literal 0 HcmV?d00001 diff --git a/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Process_Resources.jpg b/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Process_Resources.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f777f443038cb110c4eb50be54d0444a0aed9c11 GIT binary patch literal 49073 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�y4 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 z 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 literal 0 HcmV?d00001 diff --git a/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Threads-FDT.jpg b/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Threads-FDT.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ea3f920fce3ca59edde04bb6302aa1525307934 GIT binary patch literal 32854 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

Z9KkC-hExihw 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 Y0YhSUzI~)PF*9qjVxlad`+feu0A_C#@&Et; literal 0 HcmV?d00001 diff --git a/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Threads.jpg b/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Threads.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cbddf91d9aa51ea74389dd05e7d37ed49e482f19 GIT binary patch literal 18095 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%0Db>u&YCYUSf-+PBBFVc4hvDK=f)N|D5SK%1NSR43 z?%T8r@wP+#i}kG4@G61c`PGgXFuut=+-qF*OwW7WEFhGK>J{wlEXnTxDNGNYTrTlg zpF@O$Y5~*XFnU=;zKWXn|4>1PgPe-mJ^y1T_K!+y*c8i?f%B~ z&0qNcCn4J(doI9sJ{-A0HWbQNz6mm3)DdhR*G9^koAQ#F3R)_$6@nty}vd#P^(YrmXKP=UM43AVuaMgrRmud7bJUcE)xJxq^*ZpD}pMS@n2-yr^G@ zgIQcTZaK*6yXSbx36Vlv7&6k$Z%|}y(-N5!jSmmmhhgBg0F=^qT#}fRXd)_$wt0((w7Vo$bsq)K0 z+{nrB9{?X%BOF3bIN*jU-g>FBQh4~bz+XrCbudnQBoUeYH+j`xKHAUt{SP|LO2bR} zYN_Ae>$+>XFHt()v#>FIA(gq(BwFao_kg%d1Bsv1eTd+>(&rSEAQL$tjwvpE0|2Sk zwk_3^C@l*t`t-KVj5|Oc7Zg8k#mH)K3^*h9td6U#zICNE^puE;&)lrhmcGwDIip)A zim+sb4KLvCm701kA>97+C0Sq0OJ|YicG)p(&9(eu^i3vwR?@Y~4{}r3<+zNVhvQbo zM5KP}EHlj=bHS00stCX{q1p18y_MZJllPC04EyuFizEE7_hD-jjDI18GxJ1jDOoe1@aevmEg_AaljD#8LB*||tDx;=DyK<8Onih5fy-%56GJYAA&3ie>JIFX$cH|L~!&PQQR z9o!RPh9QTvW3|1M@{FJthDjsXvY2ULCL)0UswO{QRG7jAA=776hWl!H343|k^Dqi} zC3^2XQt<}7&x8vFf&wpawhrqK@>0-19f$F7UTwn$N_hGYfQWmadgU|_l1{&|E zo=aLkyNz^d-l3%Wj=_Lm-5Pr3XTZ5|OYJVfnMQP;2{fS$ozLBWO>VRWog=|7#d|Gi zD}5@Uv(1}cTKTmf#KB%K)ihG*>TX63lebiw??6ar6TMVbyVB%Z^92y8Mo&~t+>GR_ z9_nJN*1UdQpnp8S@6!FJN;|%vsM%R_D{}F-73`)HyA%fYqG7HIyOHDI%X1q_Wp>}Z z6#cVgxua6zMfX#KKl->agEwjt#_fUf<2g>-KZ3uOL1 zE91hy9Lz~J8CL55^2rFmv5G6JU=TJaF!o7DPKOq{Sq?m*h*Zsf%x`wRsr~2#fl;0h zE;Ni5whlFRs7PFyLnOytZuq~h;-4%oM_o|P_HOu&hD>ualWB8;gY~|J+sJZWBslbd z2d^~!W$NO|gl}U}_);H|pkh0;V56_2+wk&gI*)7D;X9vKd-r~0TyQ<|pgi3!F%(6z zOMA-6RelM#0m2P?N>@z{w^pfTgMPavf!eyIBfI8H?UUVc|hrK4qV zg44nIQ^9W(j&1jDEiHDhb@IGB^}nm--I2pBMqIsjP_4rHUb*I%$Kmlin&hrTAHz~p z_W1i1ko->k`}hNH{6+e!mHhI&b?>69h%@h^0+Kl*L$h_lA^hj&3{KrrQBWRF_dhVr z`F`uqM+U5Z|KHoPl6N%Kytmo9&p+y@T|*cwj%t04z#Gm|KDGV;FjD>^>$E>*trM;B zzE?;c&$Ra8&u8ZT0RYUM`m8xxUaHbA6?~fKe`C|pC0W7vPcfY>*}pVu@L3n{n@PAX s{Xu0?+RT>~P6*v8<5IaI!b)$&d1xKfz}+$0*MSzY{-nOmb3cav54hlu`v3p{ literal 0 HcmV?d00001 diff --git a/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Total_Address_Space.jpg b/rt-thread-version/rt-thread-smart/rt-smart-lwp/figures/lwp_intro-Total_Address_Space.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7b51148431599097bae7f8f047b7a266dea99d3 GIT binary patch literal 18464 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

    eFrkS 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 \ No newline at end of file diff --git a/rt-thread-version/rt-thread-smart/rt-smart-lwp/rt-smart-lwp.md b/rt-thread-version/rt-thread-smart/rt-smart-lwp/rt-smart-lwp.md new file mode 100644 index 0000000..3002d2b --- /dev/null +++ b/rt-thread-version/rt-thread-smart/rt-smart-lwp/rt-smart-lwp.md @@ -0,0 +1,185 @@ +# RT-Thread Smart 进程概述 + +## 综述 + +在操作系统概念中,进程是资源分配的实体,而线程是执行的实体。同一个进程的所有线程共享相同的资源,而每个进程至少需要拥有一个线程,线程在进程的地址空间运行,完成内核或用户规定的任务。 + +RT-Thread Smart 的线程可以分为两类: + +- 内核线程:运行于内核地址空间,没有对应的用户态进程,因此不能访问用户地址空间。它们用来完成特定于内核的任务,或者兼容所有原 RT-Thread 的应用代码。 +- 用户线程:所有的用户线程都属于某一个用户进程,它们共享进程拥有的资源,比如进程的用户态和内核态地址空间。不同进程间的线程不能直接相互访问。 + +内核线程和用户线程如下图所示: + +![](figures/lwp_intro-Threads.jpg) + +所有的进程都只能在用户态创建,通过系统调用访问内核的资源,下文如无特别说明,所述进程都是指用户态进程。而内核线程只运行在内核地址空间,一般不会访问用户地址空间的数据。 + +## 进程管理 + +进程管理涉及到进程的创建、运行和退出过程,以及对系统资源的分配和使用。 + +除内存和地址空间外,进程需要使用的系统资源主要包括为: + +- 进程的内存和映射到的用户地址空间 +- 进程的打开文件描述符表 +- 进程运行过程中申请的内核对象 + +进程在创建和运行过程中申请并使用上述资源,在进程退出时系统回收这些资源以分配给其它进程使用。进程使用的资源情况如下图所示: + +![](figures/lwp_intro-Process_Resources.jpg) + +下面对进程生命周期中的资源使用情况进行介绍,内存和地址映射之后单独说明。 + +### 进程的创建 + +进程的创建过程是由 ELF 装载器来完成的,它主要完成两个步骤: + +1. 读取并分析 ELF 文件的代码段和数据段,根据它们的分布信息分配内存并建立相应的用户空间地址映射。 +2. 设置进程的三个标准文件描述符 0、1、 2 ,分别表示标准输入、标准输出和标准错误。其它描述符在打开文件时创建。 + +进程运行时,内核和用户资源分配如下图所示,其中每个进程的文件描述符表是相互独立的: + +![](figures/lwp_intro-Threads-FDT.jpg) + +每个文件描述符是一个整数,对应于一个打开的文件,以该值为索引,可在进程的文件描述符表中得到对应的结构体 `struct dfs_fd` 的指针。除了进程的三个标准文件描述符(标准输入、标准输出和标准错误),其它文件描述符在文件打开和关闭时动态创建和回收。在目前的版本中,对这三个文件描述符的访问都会重定向到系统的 console 设备。 + +### 进程资源管理 + +进程运行过程中会执行创建线程、访问设备、申请信号量等操作,这些操作的对象在内核中都对应一个内核数据,通过 `rt_object` 机制按照数据类型分别进行管理。同时,为了在进程退出时对这些资源进行释放,这些内核数据又按照所属的进程串联起来。 + +系统运行时,内核对象的管理如下图所示: + +![](figures/lwp_intro-RT_Object.jpg) + +每种类型的内核对象通过成员变量 `rt_object` 串联在一起,链表头为类型的成员变量 `object_list` ;同时,每个进程所使用的内核对象通过成员变量 `lwp_obj_list` 串联在一起,链表头为进程的成员变量 `object_list` 。 + +### 进程的退出 + +进程的退出是指进程内的所有线程全部结束运行之后,对进程所占用资源的释放过程,按顺序依次为: + +- 释放进程中所有尚未释放的内核对象资源。 +- 关闭进程所有尚未关闭的文件,之后释放文件描述符表本身。 +- 遍历 `map_area` 树的节点信息,对于进程用户态所有映射中使用的自动映射类型的物理内存进行释放(归还到页管理器)。 +- 如果退出的进程在前台运行,则将其父进程设置前台进程;如果父进程不存在,则将前台控制权交给内核 msh 线程。(参见后续的控制台输入问题) +- 回收 MMU 管理相关的数据结构,以及进程管理结构体,更新进程树结构。如果父进程调用了 `waitpid()` 接口,会在父进程取走状态信息后由父进程释放。 + +### 进程组织结构 + +当进程启动了另外一个进程,后者就成为其子进程,而父进程可通过 `waitpid()` 接口等待子进程结束,获取其退出状态。在 RT-Thread Smart 中,父子进程的组织如下图所示: + +![](figures/lwp_intro-Process_Organization.jpg) + +其中: + +- 父进程的成员变量 `first_child` 指向其第一个子进程 +- 子进程的成员变量 `sibling` 指向兄弟进程 +- 子进程的成员变量 `parent` 指向自己的父进程 + +## 内存管理 + +作为系统中最常用的资源,内存的使用效率直接关系到系统性能的高低。内核对内存的管理主要分为物理内存的分配和虚拟地址空间的分配。 + +### 物理内存分配 + +除了原来宏内核提供的小内存块分配算法外,为支持 LWP 所需要的物理页面映射,物理内存分配器添加了对整页面申请和释放的支持。该分配器采用伙伴分配算法,将系统中所有可用的物理内存页面按照每 1 个页面、2 个页面、4 个页面等等划分为不同的单元,每相邻的两个单元互为 “伙伴”。 + +当释放一个单元时,如果它的伙伴处于空闲状态,那么它们就可以合并成一个更大的单元。相反地,当分配一个单元时,如果物理内存分配器中没有刚好满足大小的空闲单元,那么逐级向上查找更大的空闲单元,找到后对半分割,一半留在伙伴分配器中标记为空闲状态,另一半再次分割,直到分割到满足需求的单元大小。 + +伙伴分配算法管理页面的方式如下图所示: + +![](figures/lwp_intro-PageBuddy.jpg) + +### 内核地址空间映射 + +整个系统的地址空间划分为两大部分:内核空间和用户空间。在 RT-Thread Smart 中,系统地址空间布局如下: + +- 用户态地址为 0x0000_0000 - 0xBFFF_FFFF +- 内核态地址从 0xC000_0000 - 0xFFFF_FFFF + +系统中所有进程共享相同的内核空间,通过系统调用进行访问;而每个进程拥有自己独立的用户地址空间,相互之间隔离,即相同的虚拟地址在不同的进程中对应于不同的物理页面。而另一方面,属于同一个进程的不同线程共享相同的地址空间。系统地址空间划分如下图所示: + +![](figures/lwp_intro-Total_Address_Space.jpg) + +其中,内核地址空间空间映射内核的代码和数据,它们被内核线程直接访问,或者用户线程通过系统调用访问。内核地址空间分布如下图所示: + +![](figures/lwp_intro-Kernel_Address_Space.jpg) + +除动态映射区,内核地址空间的映射一经建立便不再改变,且对所有的进程保持一致,即在所有进程的地址空间中,相同的内核线性地址映射到相同的物理地址。 + +内核空间的可动态映射区域管理的地址范围为 0xF000_0000 - 0xFFFF_FFFF, 主要用来映射设备 IO 寄存器和用户线程的 TLS 数据。此外,由于这些地址可由用户态进程直接访问,它还被用来映射可由用户态访问的平台相关系统信息和特定于进程的数据。 + +内核态的可映射区域一旦映射不会自动解除,对这部分的映射和解映射过程由内核代码完成,用户进程可通过系统调用完成相关操作。 + +### 进程地址空间管理和共享内存 + +每个进程拥有自己独立的地址空间,同时它们共享相同的内核地址空间。为了实现该特性,每个进程维护一张自己的地址映射表,它们映射到内核地址空间的部分相同,而映射到用户地址空间的部分特定于进程,各不相同。 + +每个进程通过结构体 `rt_mem_info` 管理自己的地址空间。在进程创建时,ELF 加载器读取可执行文件的地址分布,建立线性地址区域 0x0010_0000 - 0xBFFF_FFFF 之间的映射,而内核地址空间的部分则从全局内存映射表的内核态部分复制,以保证所有进程的内核态部分映射都是相同的。系统调度器在切换线程时,会根据所属目标进程的内存映射表切换 MMU 配置数据,以符合当前线程的地址空间设置。如果线程不属于任何进程,说明目标是一个内核态线程,此时使用全局的 MMU 设置。 + +地址空间的隔离使得 ELF 的链接和加载更加简单,无需考虑其它进程的影响,进程本身运行也更加安全可靠。但是它也带来了另一个问题,进程间不能像线程那样随意共享数据,因为相同的虚拟地址会被映射到不同的物理地址。为了实现进程之间以及进程和内核间的大量数据共享,RT-Thread Smart 引入了共享页面机制,即将同一个页面可以映射到不同进程的地址空间。在支持共享页面的系统中,页面映射如下图所示: + +![](figures/lwp_intro-Memory_Map.jpg) + +上图中三个进程共享相同的内核地址空间映射,但是拥有各自不同的用户地址空间映射。同时,进程 2 和进程 3 还映射到了相同的物理页面,可通过该页面进行数据交换。 + +注意,出于安全性的考虑,内核地址空间不允许用户进程直接访问,因此不能通过内核地址空间来实现进程间的数据共享。另外,与内核地址空间映射不同,同一个共享页面在不同进程地址空间的映射地址可能也不同,不同进程需要先将共享页面 “附着” 到自己的地址空间,然后通过得到的地址进行访问。 + +## 附注 + +### console 设备说明 + +如果同时多个任务都在等待 console 输入,为了防止多个任务同时从 console 读取数据,系统引入前后台的概念,只有前台进程才能对 console 进行访问。另一方面,作为逻辑设备,console 需要有一个关联的物理设备来实际完成输入输出,进程和 console 的交互过程有如下特性: + +- 前台进程可以从与 console 关联的硬件设备中获取输入数据。当前台进程执行阻塞式读操作且设备中尚无数据时,进程阻塞等待,直到新数据到达。 +- 后台进程的读访问 console 时, 非阻塞式读操作会立即返回,提示无数据输入;而阻塞式读操作阻塞等待,直到被其它条件终止或者转换为前台进程。 +- 进程具有前后台的自动和主动切换功能。 +- 无论前后台进程,对输出都无须做特殊处理,直接输出到关联的物理设备。 + +前后台进程的划分存在如下规则: + +- 前台进程启动的新进程默认是前台进程。 +- 前台进程在可以通过 `msh_exec()` 接口启动新进程,如果启动新进程的命令以字符 "&" 结尾,新的进程以后台进程状态运行。 +- 无论是否使用字符 "&" 启动新进程,后台进程启动的进程都是后台进程。 +- 当前台进程结束时,会自动把父进程设置为前台进程;若父进程不存在,设置为内核的 msh 线程。 + +在某些情况下,比如在 msh 中启动了一个新进程而没有使用 "&" ,而新进程又不接受命令输入;或是一个前台进程结束后,转到前台的父进程不接受命令输入。这种情况下会造成 console 失去响应,此时可以按 `ctrl-d` 来强制把输入切回内核 msh 线程。 + +### RT-Thread 用户态版本 API 和原系统 API 的差异 + +宏内核版本的 RT-Thread API 有些与内核功能直接相关,有些为用户提供应用接口。对于前者,RT-Thread Smart 在内核中保留了同样的接口实现,而在用户态并没有对应的接口;而在用户态中,函数声明与后者保持一致,以保持向下兼容性,但某些参数的意义会略有差异。 + +下面举例说明这些参数意义略有差异的函数: + +* `rt_thread_create()` + +```c +rt_thread_t rt_thread_create(const char *name, + void (*entry)(void *parameter), + void *parameter, + rt_uint32_t stack_size, + rt_uint8_t priority, + rt_uint32_t tick); +``` + +对于 `rt_thread_create()` 函数,在内核版本中参数 `stack_size` 是指线程内核栈大小;而在 RT-Thead Smart 的对应用户态接口中,此参数为线程用户态栈大小,线程的内核态部分由系统指定,用户接口无法设置。 + +* `rt_mb_init()` 和 `rt_mq_init()` + +```c +rt_err_t rt_mb_init(rt_mailbox_t mb, + const char *name, + void *msgpool, + rt_size_t size, + rt_uint8_t flag); + +rt_err_t rt_mq_init(rt_mq_t mq, + const char *name, + void *msgpool, + rt_size_t msg_size, + rt_size_t pool_size, + rt_uint8_t flag); +``` + +以上两个函数,在内核版本中是把参数 `msgpool` 指向的内存来作为消息存储区使用的;但在用户态版本中,由于内核中直接使用用户态地址会引发各种问题,所以用户态版本的参数 `msgpool` 会被忽略,而由系统使用创建 `mb` 和 `mq` 的方式申请存储区,这意味着用户态代码不能通过直接访问 `msgpool` 而得到消息数据,这一点是要特别注意的。 + -- Gitee From 51a707d9071ef047a155435f1a2bee85245938a8 Mon Sep 17 00:00:00 2001 From: yangjie Date: Thu, 25 Feb 2021 16:06:40 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A0=87=E7=A0=96=E7=89=88=E6=9C=ACsidebar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rt-thread-version/rt-thread-standard/_sidebar.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rt-thread-version/rt-thread-standard/_sidebar.md b/rt-thread-version/rt-thread-standard/_sidebar.md index 6294927..be13212 100644 --- a/rt-thread-version/rt-thread-standard/_sidebar.md +++ b/rt-thread-version/rt-thread-standard/_sidebar.md @@ -1,8 +1,9 @@ - - - **RT-Thread 标准版本** + +- 简介 + - [RT-Thread 简介](README.md) - 快速上手 - [Keil模拟器STM32F103](/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f103-simulator/stm32f103-simulator.md) - [RT-Thread潘多拉STM32L475](/rt-thread-version/rt-thread-standard/tutorial/quick-start/iot_board/quick-start.md) -- Gitee From d2c4cdd9051ca49d4861925eb84df74c727298e0 Mon Sep 17 00:00:00 2001 From: yangjie Date: Thu, 25 Feb 2021 16:58:19 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91sidebar?= =?UTF-8?q?=EF=BC=8C=E6=96=87=E6=A1=A3=E6=A0=87=E9=A2=98=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rtthread-studio/um/studio-user-begin.md | 20 +++++++++---------- rt-thread-version/rt-thread-nano/_sidebar.md | 4 ++-- .../rt-thread-standard/_sidebar.md | 20 +++++++++---------- 3 files changed, 21 insertions(+), 23 deletions(-) diff --git a/development-tools/rtthread-studio/um/studio-user-begin.md b/development-tools/rtthread-studio/um/studio-user-begin.md index 74f01c5..cc75b22 100644 --- a/development-tools/rtthread-studio/um/studio-user-begin.md +++ b/development-tools/rtthread-studio/um/studio-user-begin.md @@ -1,12 +1,10 @@ -## 快速开始 +## 安装 RT-Thread Studio -### 安装 RT-Thread Studio - -#### 下载 RT-Thread Studio 安装包 +### 下载 RT-Thread Studio 安装包 访问官网 [RT-Thread Studio 下载地址](https://www.rt-thread.org/page/studio.html),在官网下载最新的 RT-Thread Studio 软件安装包。 -#### 安装 RT-Thread Studio +### 安装 RT-Thread Studio 双击安装包的 `.exe` 文件进行安装,安装界面如下图所示: @@ -40,7 +38,7 @@ ![sign-in](figures/sign-in.png) -### 新建项目 +## 新建项目 在`项目资源管理器`窗口内点击右键,选择`新建`子菜单`项目`,如下图所示: @@ -62,7 +60,7 @@ ![test-pro](figures/test-pro.png) -### 配置项目 +## 配置项目 双击`RT-Thread Settings`文件,打开 RT-Thread 项目配置界面,配置界面默认显示软件包以及组件和服务层的架构配置图界面,如下图所示: @@ -76,7 +74,7 @@ ![set-ok](figures/set-ok.png) -### 构建项目 +## 构建项目 点击工具栏上的`构建`按钮对项目进行构建。如下图所示: @@ -86,7 +84,7 @@ ![build-info](figures/build-info.png) -### 下载程序 +## 下载程序 当项目构建成功后,点击工具栏`下载程序`按钮旁的三角下拉框选择相应的烧写器,以`J-Link`烧写器为例,如下图所示: @@ -96,7 +94,7 @@ ![download-info](figures/download-info.png) -### 启动调试 +## 启动调试 选中`test`工程,然后点击工具栏`调试`按钮,如下图所示: @@ -106,6 +104,6 @@ ![debug-see](figures/debug-see.png) -### 视频教程 +## 视频教程 访问官网 [RT-Thread Studio 视频教程](https://www.rt-thread.org/page/video.html),在官网观看视频教程。 \ No newline at end of file diff --git a/rt-thread-version/rt-thread-nano/_sidebar.md b/rt-thread-version/rt-thread-nano/_sidebar.md index a8a1ec5..a5d10d4 100644 --- a/rt-thread-version/rt-thread-nano/_sidebar.md +++ b/rt-thread-version/rt-thread-nano/_sidebar.md @@ -1,12 +1,12 @@ - RT-Thread Nano版本 - - [Nano 简介](/rt-thread-version/rt-thread-nano/an0038-nano-introduction.md) + - [Nano 简介与下载](/rt-thread-version/rt-thread-nano/an0038-nano-introduction.md) + - [Nano 移植原理](/rt-thread-version/rt-thread-nano/nano-port-principle/an0044-nano-port-principle.md) - [使用 RT-Thread Studio 移植](/rt-thread-version/rt-thread-nano/nano-port-studio/an0047-nano-port-studio.md) - [使用 MDK 移植](/rt-thread-version/rt-thread-nano/nano-port-keil/an0039-nano-port-keil.md) - [使用 IAR 移植](/rt-thread-version/rt-thread-nano/nano-port-iar/an0040-nano-port-iar.md) - [使用 CubeMX 移植](/rt-thread-version/rt-thread-nano/nano-port-cube/an0041-nano-port-cube.md) - [移植 Nano 到 RISC-V](/rt-thread-version/rt-thread-nano/nano-port-gcc-riscv/an0042-nano-port-gcc-riscv.md) - [Nano 配置](/rt-thread-version/rt-thread-nano/nano-config/an0043-nano-config.md) - - [Nano 移植原理](/rt-thread-version/rt-thread-nano/nano-port-principle/an0044-nano-port-principle.md) - [移植控制台/FinSH](/rt-thread-version/rt-thread-nano/finsh-port/an0045-finsh-port.md) diff --git a/rt-thread-version/rt-thread-standard/_sidebar.md b/rt-thread-version/rt-thread-standard/_sidebar.md index be13212..b17e494 100644 --- a/rt-thread-version/rt-thread-standard/_sidebar.md +++ b/rt-thread-version/rt-thread-standard/_sidebar.md @@ -70,12 +70,13 @@ - [MicroPython 固件开发指南](/rt-thread-version/rt-thread-standard/packages-manual/micropython-docs/firmware-develop.md) - [MicroPython C 模块扩展](/rt-thread-version/rt-thread-standard/packages-manual/micropython-docs/external_c_modules.md) - [更多软件包...](/rt-thread-version/rt-thread-standard/packages-manual/more.md) -- 开发环境搭建 - - [在windows平台使用QEMU运行RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/windows/an0006-qemu-windows.md) - - [在Ubuntu平台开发RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/ubuntu/an0005-qemu-ubuntu.md) - - [使用Eclipse开发RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/eclipse/an0020-qemu-eclipse.md) - - [使用VS Code开发RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/vscode/an0021-qemu-vscode.md) - - [使用Env创建RT-Thread项目工程](/rt-thread-version/rt-thread-standard/application-note/setup/standard-project/an0017-standard-project.md) +- 应用开发 + - 开发环境搭建 + - [在windows平台使用QEMU运行RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/windows/an0006-qemu-windows.md) + - [在Ubuntu平台开发RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/ubuntu/an0005-qemu-ubuntu.md) + - [使用Eclipse开发RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/eclipse/an0020-qemu-eclipse.md) + - [使用VS Code开发RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/vscode/an0021-qemu-vscode.md) + - [使用Env创建RT-Thread项目工程](/rt-thread-version/rt-thread-standard/application-note/setup/standard-project/an0017-standard-project.md) - [固件尺寸优化](/rt-thread-version/rt-thread-standard/application-note/system/optimization/Optimize-code-size/an0049-optimize-code-size.md) - [在RT-Thread潘多拉开发板上实现电源管理](/rt-thread-version/rt-thread-standard/application-note/system/pm/an0025-pm.md) - [网络协议栈驱动移植](/rt-thread-version/rt-thread-standard/application-note/components/network/an0010-lwip-driver-porting.md) @@ -125,13 +126,13 @@ - [音乐数据的编码与解码](/rt-thread-version/rt-thread-standard/tutorial/beep-player/decode.md) - [播放器实现](/rt-thread-version/rt-thread-standard/tutorial/beep-player/player.md) - [按键控制](/rt-thread-version/rt-thread-standard/tutorial/beep-player/key.md) - - 分布式温度监控系统: + - 分布式温度监控系统 - [简介](/rt-thread-version/rt-thread-standard/tutorial/temperature-system/README.md) - [Sensor框架对接实战](/rt-thread-version/rt-thread-standard/tutorial/temperature-system/sensor.md) - [邮箱与消息队列实战](/rt-thread-version/rt-thread-standard/tutorial/temperature-system/ipc.md) - [文件系统实战](/rt-thread-version/rt-thread-standard/tutorial/temperature-system/dfs.md) - [OneNet连云实战](/rt-thread-version/rt-thread-standard/tutorial/temperature-system/onenet.md) - - 智能车: + - 智能车 - [简介](/rt-thread-version/rt-thread-standard/tutorial/smart-car/README.md) - [RT-Thread卷积神经网络手写体识别](/rt-thread-version/rt-thread-standard/tutorial/smart-car/cnn-mnist/cnn-mnist.md) - [Darknet训练目标检测模型](/rt-thread-version/rt-thread-standard/tutorial/smart-car/darknet-yolov2/darknet-yolov2.md) @@ -140,9 +141,8 @@ - [RT-Thread连接RPLidar激光雷达](/rt-thread-version/rt-thread-standard/tutorial/smart-car/rplidar-connect/rplidar-connect.md) - [RT-Thread搭配ROS实现目标检测小车](/rt-thread-version/rt-thread-standard/tutorial/smart-car/object-detection/object-detection.md) - 代码贡献 - - [驱动开发](/rt-thread-version/rt-thread-standard/development-guide/package/package.md) - [传感器驱动开发指南](/rt-thread-version/rt-thread-standard/development-guide/sensor/sensor_driver_development.md) - - [软件包开发](/rt-thread-version/rt-thread-standard/development-guide/package/package.md) + - [软件包开发指南](/rt-thread-version/rt-thread-standard/development-guide/package/package.md) - [向RT-Thread贡献代码](/rt-thread-version/rt-thread-standard/development-guide/github/github.md) - [RT-Thread 标准版的版本选择](/rt-thread-version/rt-thread-standard/application-note/setup/rt-thread-version/an0030-rtthread-version.md) - [API参考手册](https://www.rt-thread.org/document/api/) -- Gitee From 7f1b6be62efb27a9a5027cf423101f032f44e7c8 Mon Sep 17 00:00:00 2001 From: yangjie Date: Thu, 25 Feb 2021 17:04:30 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E3=80=90=E5=A2=9E=E5=8A=A0=E3=80=91?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=8F=8D=E9=A6=88=E9=80=94=E5=BE=84=EF=BC=8C?= =?UTF-8?q?=E8=BD=AC=E8=87=B3=E8=AE=BA=E5=9D=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 6c7b8c8..6c3097e 100644 --- a/index.html +++ b/index.html @@ -82,7 +82,7 @@ editHtml + html + '\n\n----\n' + - '>Powered by [RT-Thread](https://www.rt-thread.org/)' + '>问题反馈: [RT-Thread 官方论坛](https://club.rt-thread.org/)' }) } ] -- Gitee From ccaff3e99fa95a09ee9872c7b0eacbdbe08bb99c Mon Sep 17 00:00:00 2001 From: yangjie Date: Thu, 25 Feb 2021 17:13:07 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E6=96=87=E5=AD=97=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 6c3097e..731bf58 100644 --- a/index.html +++ b/index.html @@ -82,7 +82,7 @@ editHtml + html + '\n\n----\n' + - '>问题反馈: [RT-Thread 官方论坛](https://club.rt-thread.org/)' + '>我有疑问: [RT-Thread 官方论坛](https://club.rt-thread.org/)' }) } ] -- Gitee