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: README.md
+28-73Lines changed: 28 additions & 73 deletions
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,15 @@ While the top of *development* branches should build and run reliably, there
15
15
is no guarantee of this. Users who encountered an error are welcomed to create
16
16
a new bug report at GitHub Issues for this `toolchain` project.
17
17
18
+
## Documentation
19
+
20
+
There are several documentation sites for ARC GNU toolchain:
21
+
22
+
1.[GNU toolchain documentation site](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation) - the documentation site for ARC Classic targets.
23
+
2.[ARC-V Processors Getting Started](https://foss-for-synopsys-dwc-arc-processors.github.io/arc-v-getting-started) - the documentation for ARC-V targets.
24
+
3.[Old GNU toolchain documentation site](https://foss-for-synopsys-dwc-arc-processors.github.io/toolchain/) - the documentation site for ARC Classic targets
25
+
for release 2023.03 and earlier.
26
+
18
27
## Build environment
19
28
20
29
The toolchain building is being done by [Crosstool-NG](https://github.com/crosstool-ng/crosstool-ng)
@@ -211,6 +220,8 @@ The following pre-defined configurations (they are called "samples" on Crosstool
211
220
1.`snps-arc64-snps-linux-gnu` - Linux glibc cross-toolchain for for ARC HS6x processors for 64-bit Linux hosts
212
221
1.`snps-arc64-snps-native-gnu` - Linux glibc "native" toolchain from ARC HS6x processors
213
222
1.`snps-arc64-unknown-elf` - Bare-metal cross-toolchain for ARC HS6x processors for 64-bit Linux hosts
223
+
1.`snps-riscv64-unknown-elf` - Bare-metal cross-toolchain for ARC-V processors for 64-bit Linux hosts
224
+
1.`snps-riscv64-win-elf` - Bare-metal cross-toolchain for ARC-V processors for 64-bit Windows hosts
214
225
215
226
And to get Crosstool-NG configured with either of those samples just say: `./ct-ng sample_name`. For example, to get bare-metal toolchain for ARCompact/ARCv2 processors say: `./ct-ng snps-arc-multilib-elf32`.
216
227
@@ -225,9 +236,9 @@ and make all the settings manually. For that just say `./ct-ng menuconfig` and u
225
236
226
237
The most interesting options for toolchain users might be:
227
238
228
-
* 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.
229
-
* Selection of ARC64 processors. For that go to `Target options -> Bitness` and select `64-bit`.
230
-
*`CFLAGS` to be used for compilation of libraries for the target. Those might be set in `Target options -> Target CFLAGS`.
239
+
* 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 (refer to [documentation](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.06/toolchain/target-options/) for details).
240
+
* Selection of ARC64 processors. For that go to `Target options -> Bitness` and select `64-bit`.
241
+
*`CFLAGS` to be used for compilation of libraries for the target. Those might be set in `Target options -> Target CFLAGS`.
231
242
232
243
## Building a toolchain with Crosstool-NG
233
244
@@ -322,10 +333,15 @@ Prefixes which start with `arc-` correspond to little endian toolchains. Prefixe
322
333
`arceb-elf32-gdb`. However, big endian tools are not available for ARCv3 yet.
323
334
324
335
You can find more information about variants of toolchains, `-mcpu` values
325
-
and matching TCF files in [ARC Toolchain Variants](https://foss-for-synopsys-dwc-arc-processors.github.io/toolchain/baremetal/gcc-mcpu.html) page.
336
+
and matching TCF files on [Toolchains for ARC Processors](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.06/toolchain/) page.
326
337
327
338
### Using nSIM simulator to run bare metal ARC applications
328
339
340
+
> Refer to [nSIM](https://foss-for-synopsys-dwc-arc-processors.github.io/documentation/2024.06/simulators/nsim/)
341
+
> page of the documentation for details. Refer to
342
+
> [GNU tools for ARC-V](https://foss-for-synopsys-dwc-arc-processors.github.io/arc-v-getting-started/synopsys-tools/gnu.html)
343
+
>for details regarding running ARC-V applications on simulators.
344
+
329
345
nSIM simulator supports GNU IO hostlink used by the libc library of bare metal
330
346
GNU toolchain for ARC. nSIM option `nsim_emt=1` enables GNU IO hostlink. nSIM
331
347
simulator also supports semihosting, which is essential for ARC-V targets, more
@@ -404,25 +420,24 @@ developing for hardware platform which doesn't have hostlink support is that
404
420
while`exit` functions `nosys.specs` is an infinite loop. For more details
405
421
please see [documentation](https://foss-for-synopsys-dwc-arc-processors.github.io/toolchain/baremetal/index.html).
406
422
407
-
### Using EM Starter Kit to run bare metal ARC EM application
423
+
### Using HS Development Kit to run bare metal applications
408
424
409
-
> A custom linker script is required to link applications for EM Starter Kit.
410
-
> Refer to the section "Building an application" of our EM Starter Kit page:
0 commit comments