You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: documentation/env/env.md
+34-34Lines changed: 34 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
-
#User Manual of Env
1
+
@page env User Manual of Env
2
2
3
3
Env is a handy utility tool developed by RT-Thread team to build environment, graphical system configuration, and packages management for software projects that intend to run on RT-Thread operating system. Env tool come with source code builder, compilation environment and package management system.
4
4
5
5
It is a wrapper tool for build-in menuconfig, which is an open source GUI tool which is designed to tailor for ease of use for developers. It can also be used to configure the kernel configuration parameters, components and software packages so that developers can construct the system like lego blocks.
6
6
7
7
Env for Windows repository: https://github.com/RT-Thread/env-windows
8
8
9
-
##Main Features
9
+
# Main Features
10
10
11
11
- menuconfig provides graphical interface to interact with operational logic and configuration parameters
12
12
- Each configuration option come with help session by default.
@@ -16,24 +16,24 @@ Env for Windows repository: https://github.com/RT-Thread/env-windows
16
16
- Modular software packages and decoupling design make it easier to maintain.
17
17
- It also featured with point and click to download additional software packages and dependencies directly from Internet.
18
18
19
-
##Download
19
+
# Download
20
20
21
21
-[Download the Env tool](https://github.com/RT-Thread/env-windows/releases), e.g. `env-windows-v1.3.5.7z`.
22
22
- Extract the .7z file and the path shouldn't contain any non-ascii or space characters.
23
23
24
-
##User Guide of Env
24
+
# User Guide of Env
25
25
26
-
###Open the control Console
26
+
## Open the control Console
27
27
28
28
The rt-thread software package environment is mainly based on the command line console so that the rt-thread development environment can be set up by minimizing the modification of configuration files.
29
29
30
30
There are two ways to open the console:
31
31
32
-
####1. click the Env directory executable file
32
+
### 1. click the Env directory executable file
33
33
34
34
To enter the Env directory, you can run `env.exe` in this directory. If it fails to open, you can try to use `env.bat`.
35
35
36
-
####2. open the Env console from the right-click menu in the folder
36
+
### 2. open the Env console from the right-click menu in the folder
37
37
38
38
Add Env to the right-click menu:
39
39
@@ -49,23 +49,23 @@ Follow the steps from the image to launch the Env console from the right-click m
49
49
50
50
> Due to the need for the environment variables of the Env process to be set, the anti-virus software may misreport at the first startup. If the anti-virus software misreport is encountered, allow Env related programs to run, and then add related programs to the white list.
51
51
52
-
###Compile
52
+
## Compile
53
53
54
54
Scons is a compile building tool used by RT-Thread to compile RT-Threads using the scons related commands.
55
55
56
-
####Step One: Switch to the BSP root directory
56
+
### Step One: Switch to the BSP root directory
57
57
58
58
If you use Method 1 to open Env console, you need to switch to the target BSP using the `cd` command.
59
59
60
60
For example, the target BSP is `rt-thread\bsp\stm32\stm32f103-dofly-lyc8`:
Env for Windows carries Python2.7 & Scons . To compile BSP, just use the default ARM_GCC toolchain by running `scons` or `scons -j12` (12 CPU cores compiling) command in the target BSP directory.
67
67
68
-
Env for Windows carries ARM GCC toolchain by default. When users compile ARM BSPs, users can directly type `scons` or `scons -j12` command to compile the BSP. However, if the BSP is other architecture, e.g. RISC-V, users need to use `scons --exec-path='C:\xxx\sdk-toolchain-RISC-V-GCC-WCH-1.0.0\bin' -j12` command to specify the toolchain when compiling.
68
+
Env for Windows carries ARM GCC toolchain by default. When users compile ARM BSPs, users can directly type `scons` or `scons -j12` command to compile the BSP. However, if the BSP is other architecture, e.g. RISC-V, users need to use `scons --exec-path='C:\\xxx\\sdk-toolchain-RISC-V-GCC-WCH-1.0.0\\bin' -j12` command to specify the toolchain when compiling.
69
69
70
70

71
71
@@ -82,30 +82,30 @@ scons --target=mdk4
82
82
scons --target=mdk5
83
83
```
84
84
85
-
For more scons tutorials, please refer to [*Scons*](../scons/scons.md).
85
+
For more scons tutorials, please refer to @refscons.
86
86
87
-
###BSP configuration: menuconfig
87
+
## BSP configuration: menuconfig
88
88
89
89
Menuconfig is a graphical configuration tool that RT-Thread uses to configure and tailor the entire system.
90
90
91
-
####Instruction for Shortcuts
91
+
### Instruction for Shortcuts
92
92
93
93
Go to the BSP root directory and open the interface by entering `menuconfig`. The menuconfig common shortcuts are as shown:
94
94
95
95

96
96
97
-
####Modify Settings
97
+
### Modify Settings
98
98
99
99
There are many types of configuration items in menuconfig, and the modification methods are different. The common types are:
100
100
101
101
- On/Off Type: Use the space bar to select or close
102
102
- Value, string type: After pressing the Enter key, a dialog box will appear, and the configuration items will be modified in the dialog box.
103
103
104
-
####Save Settings
104
+
### Save Settings
105
105
106
106
After selecting the configuration item, press `ESC` to exit, and select `Save` to automatically generate the `rtconfig.h` file. At this point, using the `scons` command again will recompile the project according to the new rtconfig.h file.
107
107
108
-
###Package Management
108
+
## Package Management
109
109
110
110
RT-Thread provides a package management platform where the officially available or developer-supplied packages are stored. The platform provides developers with a choice of reusable software packages that are an important part of RT-Thread.
111
111
@@ -141,7 +141,7 @@ optional arguments:
141
141
--printenv print environmental variables to check
142
142
```
143
143
144
-
####Download, update, and delete packages
144
+
### Download, update, and delete packages
145
145
146
146
Before downloading and updating the software package, you need to **open** the target package in `menuconfig`.
147
147
@@ -155,13 +155,13 @@ Find the package you need and open, then save and exit menuconfig. The package w
155
155
-**update**: if the selected package has a latest update on the server and the version is selected **latest**, then enter `pkgs --update` , the package will be updated in local;
156
156
-**delete**: if a software package is not needed, deselect it in menuconfig and then use `pkgs --update` command. Then locally downloaded but unselected packages will be deleted.
157
157
158
-
####Update local package information and index
158
+
### Update local package information and index
159
159
160
160
As the package system grows, more and more packages will be added, so the list of packages in menuconfig may be **unsynchronized** with the server. This can be fixed by using `pkgs --upgrade` or `pkgs --upgrade-force` command (recommended), which not only synchronizes updates to local software packages [information and index](https://github.com/RT-Thread/packages), which are recommended for regular use. If there is a upgrade failure or merge failure, please use `pkgs --upgrade-force` command to force upgrade the local software packages index (recommended to use).
161
161
162
162
If wants to upgrade the [Env script](https://github.com/RT-Thread/env) as well, please use `pkgs --upgrade-script-force` command. This command not only can upgrade the software packages index, but also can upgrade the Env script.
163
163
164
-
###Env Tool Configuration
164
+
## Env Tool Configuration
165
165
166
166
- The new version of the Env tool includes an automatic update package and an option to automatically generate mdk/iar projects. The default is not enabled. It can be configured using `menuconfig -s/--setting` .
167
167
@@ -180,21 +180,21 @@ The three options are:
180
180
-**Send usage data for improve product**: For user number statistic.
181
181
182
182
183
-
##Use Env in Your Project
183
+
# Use Env in Your Project
184
184
185
-
###How to Modify Options in Menuconfig
185
+
## How to Modify Options in Menuconfig
186
186
187
187
If you want to add a macro definition in the configuration item of menuconfig, you can modify the `Kconfig` file under BSP. The modification method can search Kconfig syntax on the Internet for detailed documentation, or refer to the Kconfig file in RT-Thread or The Kconfig file in the BSP that supports menuconfig.
188
188
189
-
###To Add menuconfig function to New Project
189
+
## To Add menuconfig function to New Project
190
190
191
191
New project here refers to a newly developed project that has not yet generated `.config` and `rtconfig.h`. Because these two files are only created when menuconfig is first saved. The specific process is as follows:
192
192
193
193
1. Copy the kconfig file from the BSP that already supports the menuconfig function to the new project root directory.
194
194
2. Note that modifying the RTT_ROOT value in Kconfig is the directory where RT-Thread is located, otherwise RTT_ROOT may be not found.
195
195
3. Start the configuration with the menuconfig command.
196
196
197
-
###To Add menuconfig function to old Project
197
+
## To Add menuconfig function to old Project
198
198
199
199
Old project here refers to the development that has been going on for a while, and there is a modified `rtconfig.h` file in the project, but there is no project configured with menuconfig. The specific process is as follows:
200
200
@@ -205,53 +205,53 @@ Old project here refers to the development that has been going on for a while, a
205
205
5. Use the menuconfig command to configure the old project we want to modify. Menuconfig will read the `.config` file generated in the second step and generate a new `.config` file and rtconfig.h file based on the configuration parameters of the old project.
206
206
6. Check the old and new rtconfig.h files. If there are any inconsistencies, you can use the menuconfig command to adjust the configuration items.
207
207
208
-
##Notes for Using Env
208
+
# Notes for Using Env
209
209
210
210
- For the first time, Env is recommended to go to the official website to download the latest version of the Env tool. The new version of Env will have better compatibility and also support automatic update commands.
211
211
- You can use the Env built-in command `pkgs --upgrade` or `pkgs --upgrade-force` (recommended to use) to update the package list and Env's function code to minimize the problems you have fixed.
212
212
- Do not have Chinese or spaces in the routes of Env.
213
213
- Do not have Chinese or spaces in the routes where the BSP project is located.
214
214
215
-
##FAQs
215
+
# FAQs
216
216
217
-
###Q: It prompts that the git command cannot be found.
217
+
## Q: It prompts that the git command cannot be found.
218
218
219
219
'git' is not recognized as an internal or external command, possible program or batch file.
220
220
221
221
**A:** Git is not installed. You need to install git and add environment variables.
222
222
223
-
###Q: It prompts that the CMD command cannot be found.
223
+
## Q: It prompts that the CMD command cannot be found.
224
224
225
225
**A:** Right-click–>> Property—>> Advanced System Settings—>> Environment Variable, Add `C:\Windows\System32` to system environment variables.
226
226
227
-
###Q: Prompt "no module named site" when running python.
227
+
## Q: Prompt "no module named site" when running python.
228
228
229
229
**A:** Computer right button –>> Properties—>> Advanced System Settings—>> Environment Variable, in the user variable of the administrator, create a new variable named PYTHONHOME, and the variable value is: `F:\git_repositories\env\tools\Python27` (the installation route of Python in Env), do not add ";" afterwards, otherwise it will be invalid. If add PYTHONHOME can not solve theproblem, try to add PYTHONPATH in the same way.
230
230
231
-
###Q: What types of projects can I generate under Env?
231
+
## Q: What types of projects can I generate under Env?
232
232
233
233
**A:**
234
234
235
235
1. Currently, you can use the scons tool to generate mdk/iar projects under Env. There is no automatic generation of eclipse projects.
236
236
2. Generally, using gcc's toolchain, using an editor such as source insight or VS Code to edit the code and compile with `scons` command.
237
237
238
-
###Q:How can my own BSP support menuconfig?
238
+
## Q:How can my own BSP support menuconfig?
239
239
240
240
**A:** You can refer to this chapter **Use Env in Your Project**.
241
241
242
-
###Q: What is the difference between the pkgs --upgrade/--upgrade-force command and the pkgs --update command?
242
+
## Q: What is the difference between the pkgs --upgrade/--upgrade-force command and the pkgs --update command?
243
243
244
244
**A:**
245
245
246
246
1. The `pkgs --upgrade/--upgrade-force` command is used to upgrade the Env script itself and the list of packages. You cannot select a recently updated package without the latest package list.
247
247
2. The `pkgs --update` command is used to update the package itself. For example, if you selected json and mqtt packages in menuconfig, you did not download them when you exit menuconfig. You need to use the `pkgs --update` command, at which point Env will download the package you selected and add it to your project.
248
248
3. The new version of Env supports the `menuconfig -s/--setting` command. If you don't want to use the `pkgs --update` command after replacing the package, configure Env after using the `menuconfig -s/--setting` command. Select each time you use menuconfig. After the package is automatically updated.
249
249
250
-
###Q: Prompt "can't find file Kconfig" while using menuconfig.
250
+
## Q: Prompt "can't find file Kconfig" while using menuconfig.
251
251
252
252
**A:** The Kconfig file is missing from the current working BSP directory. Please refer *To Add menuconfig function to New Project* and *To Add menuconfig function to Old Project*.
0 commit comments