Skip to content

Commit 0de0565

Browse files
author
Artem Panfilov
committed
README.md: fix minor typos and misspellings
Signed-off-by: Artem Panfilov <[email protected]>
1 parent 8fb6091 commit 0de0565

File tree

1 file changed

+34
-35
lines changed

1 file changed

+34
-35
lines changed

README.md

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# ARC GNU Tool Chain
1+
# ARC GNU Toolchain
22

33
This is the main Git repository for the ARC GNU toolchain. It contains
4-
documentation & various supplimentary meterials required for development,
4+
documentation & various supplementary materials required for development,
55
verification & releasing of pre-built toolchain artifacts.
66

77
Branches in this repository are:
@@ -17,51 +17,51 @@ a new bug report at GitHub Issues for this `toolchain` project.
1717

1818
## Build environment
1919

20-
Real toolchain building is being done by [Crosstool-NG](https://github.com/crosstool-ng/crosstool-ng)
20+
The toolchain building is being done by [Crosstool-NG](https://github.com/crosstool-ng/crosstool-ng)
2121
and so we inherit all the capabilities provided by that powerful and flexible tool.
2222
We recommend those interested in rebuilding of ARc GNU tools to become familiar with
23-
Crosstool-NG coumentation available here: <https://crosstool-ng.github.io/docs>
24-
to better understand its capabilities and limitations. But in a nutshell when all the environment
23+
Crosstool-NG documentation available here: <https://crosstool-ng.github.io/docs>
24+
to better understand its capabilities and limitations. But in a nutshell, when all the environment
2525
is set (that's described in details below) what needs to be done is as easy as:
2626

2727
```shell
2828
./ct-ng sample_name
2929
./ct-ng build
3030
```
3131

32-
Crosstool-NG is meant to be used in Unix-like environment and so the best user experience
32+
Crosstool-NG is meant to be used in a Unix-like environment and so the best user experience
3333
could be achieved in up-to-date mainstream Linux distributions, which have all needed
3434
tools in their repositories.
3535

3636
Also Crosstool-NG is known to work on macOS with Intel processors
3737
and hopefully will soon be usable on macOS with ARM processors as well. That said ARC GNU
38-
cross-toolchain for macOS might be built natively on macOS. Or it's possible to built it
38+
cross-toolchain for macOS might be built natively on macOS. Or it's possible to build it
3939
in a canadian cross manner (see <https://crosstool-ng.github.io/docs/toolchain-types>) on a Linux
40-
host with use of [OSXCross](https://github.com/tpoechtrager/osxcross) as a cross-toolchain for macOS.
40+
host with the use of [OSXCross](https://github.com/tpoechtrager/osxcross) as a cross-toolchain for macOS.
4141

4242
There're ways to build ARC GNU cross-toolchain on Windows as well, and the most convenient would be
4343
use of [Windows Subsystem for Linux v2, WSL2](https://docs.microsoft.com/en-us/windows/wsl/compare-versions)
44-
or any other full-scale virtual machine with Linux inside. Fortunately though it's possible to
45-
use canadian-cross approach for Windows as well with use of MinGW cross-toolchain on Linux host.
46-
Moreover even MinGW cross-toolchain might be built with Crosstool-NG right in place, limiting
47-
amount of external deoendencies.
44+
or any other full-scale virtual machine with Linux inside. Fortunately, though, it's possible to
45+
use the canadian-cross approach for Windows as well with use of MinGW cross-toolchain on Linux host.
46+
Moreover, even MinGW cross-toolchain might be built with Crosstool-NG right in place, limiting
47+
amount of external dependencies.
4848

49-
So our recommendation is to either use pre-built toolchain for Linux, Windows or macOS
49+
So our recommendation is to either use a pre-built toolchain for Linux, Windows or macOS
5050
(could be found on [releases](https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases) page)
51-
or build in a true Linux environment, be it real Linux host or a virtual machine.
51+
or build in a true Linux environment, be it a real Linux host or a virtual machine.
5252

5353
And due to requirements of some toolchain components for building from source as well as for
5454
execution of a prebuilt toolchain it's necessary to use up-to-date Linux distribution.
5555

56-
As of today the oldest supported distributions are:
56+
As of today, the oldest supported distributions are:
5757

5858
* CentOS/RHEL 7
5959
* Ubuntu 18.04 LTS
6060

6161
## Prerequisites
6262

63-
GNU toolchain for ARC has same standard prerequisites as an upstream GNU tool
64-
chain as documented in the GNU toolchain user guide or on the [GCC
63+
GNU toolchain for ARC has the same standard prerequisites as an upstream GNU
64+
toolchain as documented in the GNU toolchain user guide or on the [GCC
6565
website](http://gcc.gnu.org/install/prerequisites.html)
6666

6767
### Ubuntu 18.04 and newer
@@ -129,7 +129,7 @@ user-friendly tool called "Crosstool-NG. In its nature it's a mixture of Makefil
129129
and bash scripts which hide all the magic & complexity needed to properly
130130
configure, build & install all the components of the GNU toolchain.
131131

132-
Still Crosstool-NG is distributed in sources and needs to be built before use.
132+
Still, Crosstool-NG is distributed in sources and needs to be built before use.
133133
Though it is as simple as:
134134

135135
```shell
@@ -139,7 +139,7 @@ git clone https://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng.g
139139
# Step into the just obtained source tree
140140
cd crosstool-ng
141141

142-
# Optionally select its version of choise, for example the one used for creation of `arc-2021.09` release
142+
# Optionally select its version of choice, for example the one used for creation of `arc-2021.09` release
143143
git checkout arc-2021.09-release
144144

145145
# Configure & build Crosstool-NG
@@ -148,7 +148,7 @@ git checkout arc-2021.09-release
148148

149149
## Building the Toolchain
150150

151-
Once Crosstool-NG is built and ready fo use it's very easy to get a toolchain
151+
Once Crosstool-NG is built and ready for use it's very easy to get a toolchain
152152
of choice to be built. One just needs to decide on configuration options
153153
to be used for toolchain building or use one of the existing pre-defined
154154
settings (which mirror configuration of pre-built toolchains we distribute
@@ -176,43 +176,42 @@ And to get Crosstool-NG configured with either of those samples just say: `./ct-
176176
177177
## Crosstool-NG configuration: manual tuning
178178

179-
If pre-defined "sample" doesn't meet one's requirements it's possible to either fine-tune some existing sample or start over from scratch
179+
If pre-defined "sample" doesn't meet one's requirements, it's possible to either fine-tune some existing sample or start over from scratch
180180
and make all the settings manually. For that just say `./ct-ng menuconfig` and use [menuconfig](https://en.wikipedia.org/wiki/Menuconfig) interface in the same way as it's done in many other projects like the Linux kernel, uClibc, Buildroot and many others.
181181

182-
> :warning: To start configuration from scratch make sure `.config` file doesn't exist in the Crosstool's root directory or say `./ct-ng distclean`.
182+
> :warning: To start configuration from scratch, make sure `.config` file doesn't exist in the Crosstool's root directory or say `./ct-ng distclean`.
183183
184184
The most interesting options for toolchain users might be:
185185

186186
* Selection of the default target CPU model. To change it go to `Target options -> Emit assembly for CPU` and specify one of the possible values for GCC's `-mcpu` option, see <https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/wiki/Understanding-GCC-mcpu-option> for the reference.
187187
* Selection of ARC64 processors. For that go to `Target options -> Bitness` and select `64-bit`.
188-
* `CFLAGS` to be used for compilation of libraries for the target. Those might be set in `Target options -> Targte CFLAGS`.
188+
* `CFLAGS` to be used for compilation of libraries for the target. Those might be set in `Target options -> Target CFLAGS`.
189189

190190
## Building a toolchain with Crosstool-NG
191191

192192
All the information above was on how to get Crosstool-NG prepared for operation and how to get it configured to perform a toolchain build with needed settings.
193-
And now when all the preparations are done it's required only to start build process with:
193+
And now, when all the preparations are done, it's required only to start build process with:
194194

195195
```shell
196196
./ct-ng build
197197
```
198198

199199
## Building toolchain for Windows
200200

201-
To build toolchain for Windows hosts it is recommended to do a "Canadian
202-
cross-compilation" on Linux, that is toolchain for ARC targets that runs on
203-
Windows hosts is built on Linux host. Build scripts expect to be run in
201+
To build a toolchain for Windows hosts it is recommended to do a "Canadian
202+
cross-compilation" on Linux, that is a toolchain for ARC targets that runs on
203+
Windows hosts is built on Linux host. Build scripts expected to be run in
204204
Unix-like environment, so it is often faster and easier to build toolchain on
205205
Linux, than do this on Windows using environments like Cygwin and MSYS. While
206206
those allow toolchain to be built on Windows natively this way is not
207207
officially supported and not recommended by Synopsys, due to severe performance
208208
penalty of those environments on build time and possible compatibility issue.
209209

210-
Some limitation apply:
210+
Some limitations apply:
211211

212212
* Only bare metal toolchain can be built this way.
213213
* It is required to have toolchain for Linux hosts in the `PATH` for Canadian
214-
cross-build to succeed - it will be used to compile standard library of tool
215-
chain.
214+
cross-build to succeed - it will be used to compile standard library of toolchain.
216215

217216
To do a canadian-cross toolchain on Linux, MinGW toolchain must be installed on the build host.
218217
There're muliple ways to get MinGW installed:
@@ -237,7 +236,7 @@ Once the MinGW is available on the build host just make sure its binaries are av
237236

238237
## Usage examples
239238

240-
In all of the following examples it is expected that GNU toolchain for ARC has
239+
In all of the following examples, it is expected that GNU toolchain for ARC has
241240
been added to the user's `PATH` environment variable. Please note that built toolchain by default gets installed in the current users's `~/x-tools/TOOLCHAIN_TUPLE` folder, where `TOOLCHAIN_TUPLE` is by default dynamically generated based on the toolchain type (bare-metal, glibc or uclibc), CPU's bitness (32- or 64-bit), provided vendor name etc.
242241
243242
For example:
@@ -364,8 +363,8 @@ $ arc-elf32-gdb --quiet a.out
364363
> The Ashling Opella-XD debug probe and its drivers are not part of the GNU
365364
> tools distribution and should be obtained separately.
366365
367-
The Ashling Opella-XD drivers distribution contains gdbserver for GNU tool
368-
chain. Command to start it:
366+
The Ashling Opella-XD drivers distribution contains gdbserver for GNU toolchain.
367+
Command to start it:
369368
370369
```shell
371370
$ ./ash-arc-gdb-server --jtag-frequency 8mhz --device arc \
@@ -377,7 +376,7 @@ The Ashling drivers distribution contain files for ARC 600 (arc600-core.xml)
377376
and ARC 700 (arc700-core.xml). However due to recent changes in GDB with
378377
regards of support of XML target descriptions those files will not work out of
379378
the box, as order of some registers changed. To use Ashling GDB server with GDB
380-
starting from 2015.06 release it is required to use modified files that can be
379+
starting from 2015.06 release, it is required to use modified files that can be
381380
found in this `toolchain` repository in `extras/opella-xd` directory.
382381
383382
*Before* connecting GDB to an Opella-XD gdbserver it is essential to specify
@@ -444,7 +443,7 @@ $ arc-linux-gdb --quiet hello_world
444443
## Getting help
445444
446445
For all inquiries Synopsys customers are advised to use
447-
[SolvNet](https://solvnet.synopsys.com). Everyone else is welcomed to open an
446+
[SolvNet](https://solvnet.synopsys.com). Everyone is welcome to open an
448447
issue against
449448
[toolchain](https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain)
450449
repository on GitHub.

0 commit comments

Comments
 (0)