Skip to content

Commit bc1a534

Browse files
committed
Update embox_quick_start_en.md
1 parent 7db4a84 commit bc1a534

File tree

1 file changed

+56
-34
lines changed

1 file changed

+56
-34
lines changed

en/embox_quick_start_en.md

Lines changed: 56 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Clone git repository:
66
```
77
$ git clone https://github.com/embox/embox
88
```
9-
Or download as an archive [https://github.com/embox/embox/releases](https://github.com/embox/embox/releases).
9+
Or download as an archivefrom: [https://github.com/embox/embox/releases](https://github.com/embox/embox/releases)
1010

1111
## Work on Windows or MacOS
1212
### Please follow the next recommendations:
@@ -17,10 +17,9 @@ Download an actual version of PowerShell:
1717
Open PowerShell as an administrator and install WSL2 (please pay your attention to the demands on Windows version):
1818

1919
[How to install WSL2](https://learn.microsoft.com/en-us/windows/wsl/install-manual)
20-
```
21-
Before the next step upgrade WSL1 to WSL2 if you did'nt do this(the instruction is in a link above).
22-
In other way Embox won't run on Windows.
23-
```
20+
21+
**NOTE:** Before the next step upgrade WSL1 to WSL2 if you did'nt do this(the instruction is in a link above). In other way Embox won't run on Windows.
22+
2423

2524
### Download Ubuntu from Microsoft Store
2625
Check yout version of WSL the next way: insert the command below in PowerShell:
@@ -38,17 +37,17 @@ Run the commands below in command line of Ubuntu for installing necessary progra
3837
sudo apt-get install python3
3938
sudo apt-get install python-is-python3
4039
```
41-
Clone version of embox to yourself(use https or ssh):
40+
Clone version of embox to yourself (use https or ssh):
4241
```
4342
git clone <https://github.com/embox/embox.git>
4443
git clone <[email protected]:embox/embox.git>
4544
```
4645

47-
Open the directory of the embox project
46+
Open the directory of the embox project:
4847
```
4948
cd embox
5049
```
51-
Run the next three commands
50+
Run the next three commands:
5251
```
5352
make confload-x86/qemu
5453
make
@@ -61,8 +60,8 @@ If it's correct -- you can use the recommendations from the article(the link is
6160

6261

6362
## Enviroment Settings
64-
Minimal required packages: *make*, *gcc*, (cross-compiler for target platform. see "Cross-compiler installation").
65-
Optional packages, which are recomended to install at once: *build-essential*, *gcc-multilib*, *curl*, *libmpc-dev*, *python*.
63+
Minimal required packages: **make**, **gcc**, (cross-compiler for target platform. see "Cross-compiler installation").
64+
Optional packages, which are recomended to install at once: **build-essential**, **gcc-multilib**, **curl**, **libmpc-dev**, **python**.
6665

6766
For Debian/Ubuntu:
6867
```
@@ -87,7 +86,7 @@ Please note, it's required to install another packages if you already set up the
8786
```
8887
$ sudo apt install arm-none-eabi-gcc
8988
```
90-
or for Debian:
89+
***or for Debian***:
9190
```
9291
$ sudo apt install gcc-arm-none-eabi
9392
```
@@ -113,15 +112,15 @@ Or you can build cross-compiler with the script in the project's root folder:
113112
As the result ***ARCH-elf-toolchain.tar.bz2*** archive will be created. Than you need to extract files from the archive and set up `PATH` enviroment variable.
114113

115114
## QEMU installation
116-
Supported CPU architectures: x86, ARM, MIPS, Sparc, PPC, Microblaze.
115+
Supported CPU architectures: `x86`, `ARM`, `MIPS`, `Sparc`, `PPC`, `Microblaze`.
117116

118117
QEMU can be installed in the following way:
119118
```
120119
$ sudo apt-get install qemu-system-<ARCH>
121120
```
122-
Where <ARCH>: i386, arm, sparc, mips, ppc or misc (for microblaze).
121+
Where `<ARCH>`: i386, arm, sparc, mips, ppc or misc (for microblaze).
123122

124-
Notice: QEMU packages for all supported architectures can be installed with a single command:
123+
QEMU packages for all supported architectures can be installed with a single command:
125124
```
126125
$ sudo apt-get install qemu-system
127126
```
@@ -131,7 +130,8 @@ Set up default configuration for the desired platform:
131130
```
132131
$ make confload-<ARCH>/qemu
133132
```
134-
where <ARCH>: x86, arm, mips, ppc, sparc, microblaze.
133+
Where `<ARCH>`: x86, arm, mips, ppc, sparc, microblaze.
134+
135135
Example for x86:
136136
```
137137
make confload-x86/qemu
@@ -140,7 +140,7 @@ Build Embox:
140140
```
141141
$ make
142142
```
143-
or for parallel building with N parallel jobs:
143+
or for parallel building with **N** parallel jobs:
144144
```
145145
$ make -jN
146146
```
@@ -161,37 +161,55 @@ Console output example:
161161
If all unit tests passed successfully and all modules loaded, then command prompt will appear.
162162
Now you can execute commands included in the configuration (`mods.conf`). You can start with ***help*** command which prints list of available commands.
163163

164-
Press ***ctrl+’A’*** and then `***x***` to exit from Qemu.
164+
Press `ctrl + A` and then `x` to exit from QEMU.
165165

166166
## Preliminaries to Mybuild build system
167-
Embox is modular and configurable. Declarative program language "Mybuild" has been developed for these features.
167+
***Embox*** is modular and configurable. Declarative program language Mybuild has been developed for these features.
168168
Mybuild allows to describe both single modules and whole target system.
169169

170-
A module is a base concept for build system. A module description contains: source files list, options which can be set for the module during configuration, and dependences list.
170+
***A module*** is a base concept for build system.
171+
A module description contains:
172+
173+
* source files list
174+
* options, which can be set for the module during configuration
175+
* dependences list
176+
177+
***The configuration*** is a particular description of the whole system.
178+
It contains:
171179

172-
The configuration is a particular description of the whole system. It contains list of required modules, modules options and build rules (cross-compiler, additional compiler flags, memory map etc.).
180+
* list of required modules
181+
* modules options
182+
* build rules (e. g. cross-compiler, additional compiler flags, memory map etc.)
173183

174184
Graph of the system will be based on the configuration and modules descriptions.
175-
Build system, that generates different build artifacts: linker scripts, makefiles, headers.
176-
It's not necesary to include all modules, they will be enabled using dependencies for each module included in the initial configuration list.
185+
186+
Build system, that generates different build artifacts: `linker scripts`, `makefiles`, `headers`.
187+
188+
It's not necesary to include all modules, they will be enabled, using dependencies.
177189

178190
Current configuration locates in ***conf/*** folder. It can be set up with:
179191
```
180192
$ make confload-<CONF_NAME>
181193
```
182-
For example, to set up demo configuration for qemu-arm you should do the following:
194+
For example, to set up demo configuration for ***qemu-system-arm*** you should do the following:
183195
```
184196
$ make confload-arm/qemu
185197
```
186-
Use:
198+
To get the list of all possible configurations, use:
187199
```
188200
$ make confload
189201
```
190-
to get the list of all possible configurations.
191202

192-
After you set up some configuration you can tune configuration due to your requirements.
193-
You can add ***include \<PACKAGE_NAME\>\<MODULE_NAME\>*** to your ***conf/mods.conf*** file to enable additional application.
194-
For example, add ***include embox.cmd.help*** to enable ***`help`*** command.
203+
After you set up some configuration you can customize it to your requirements.
204+
205+
To enable additional application, you can insert to your ***conf/mods.conf*** file the line below:
206+
```
207+
include \<PACKAGE_NAME\>\<MODULE_NAME\>
208+
```
209+
For example, to enable ***`help`*** command type the following:
210+
```
211+
include embox.cmd.help
212+
```
195213

196214
## "Hello world" application
197215
Embox application is an usual Embox module with special attributes. These attributes declare your module as an executable application.
@@ -234,7 +252,8 @@ To add your own simplest application "Hello world" you can do the following:
234252
```
235253
$ ./scripts/qemu/auto_qemu
236254
```
237-
* Type ***help*** in Embox console to check if there is ***hello_world*** in commands list. Execute ***hello_world*** command and you will see:
255+
* Type ***help*** in Embox console to check if there is ***hello_world*** in commands list.
256+
Execute ***hello_world*** command and you will see:
238257
```
239258
root@embox:/#hello_world
240259
Hello, world!
@@ -253,14 +272,16 @@ Let's look at the Mybuild file from "Hello world" example in more details:
253272
}
254273
```
255274
The first line contains package name ***embox.cmd***. In Embox all modules are organized into packages.
256-
Full module name consist of the corresponding package name appended with module name. Module name is defined in string ***module hello_world***.
275+
Full module name consists of the corresponding package name appended with module name.
276+
Module name is defined in string ***module hello_world***.
257277

258278
## Debugging
259-
You can use the same script with *-s -S -no-kvm* flags for debugging:
279+
You can use the same script with `-s`, `-S`, `-no-kvm` flags for debugging:
260280
```
261281
$ sudo ./scripts/qemu/auto_qemu -s -S -no-kvm
262282
```
263-
After running that QEMU waits for a connection from a gdb-client. Run gdb in the other terminal:
283+
After running that QEMU waits for a connection from a gdb-client.
284+
Run gdb in the other terminal:
264285
```
265286
$ gdb ./build/base/bin/embox
266287
...
@@ -269,10 +290,11 @@ After running that QEMU waits for a connection from a gdb-client. Run gdb in the
269290
```
270291
The system starts to load.
271292

272-
At any moment in gdb terminal you can type <kbd>ctrl + C</kbd> and see the stack of the current thread (`backtrace`) or set breakpoints (`break <function name>`, `break <file name>:<line number>`).
293+
At any moment in gdb terminal you can type `ctrl + C` and see the stack of the current thread (`backtrace`) or set breakpoints (`break <function name>`, `break <file name>:<line number>`).
273294

274295
## Connection of external repository
275-
Embox allows to connect external repo to modules and templates. It's enough to specify root directory of repository for this purpose:
296+
Embox allows to connect external repo to modules and templates.
297+
It's enough to specify root directory of repository for this purpose:
276298
```
277299
make ext_conf EXT_PROJECT_PATH=<your projects path>
278300
```

0 commit comments

Comments
 (0)