User manual
Creating a project using the GNU toolchain Ride7 for ARM
- 14 -
C:\Program Files\Raisonance\Ride\lib\ARM.” directory for the associated script file. For
example, if your device is the STR712FR2 and you are in RAM mode, the script generated is
called “C:\Program Files\Raisonance\Ride\lib\ARM\ STR71xFx2_RAM.ld”.
Please also note that there is no default linker script for the “STRx-TEST” device. Therefore,
when you use this virtual device, you must use a custom linker script.
C) Limit for Starter-Kit
This option should be used when debugging in RAM with the limited version of the RLink, such
as the RLinks embedded in the REva evaluation boards, and the standard RLinks. Because these
RLinks are only allowed to access the lower 16Kbytes (STRx) or 32Kbytes (STM32) of each
memory area (RAM, FLASH, etc.), the linker must initialize the stack pointer at an address lower
than 16K (32K for Cortex-M3) and not at the very end of the RAM as it would do otherwise.
Also, it will generate a link error if your application uses more than this reduced amount of
RAM. If you are using the simulator, an RLink with the “STRx Pro” capabilities, JTAGJet, or if
you are only programming the ARM’s FLASH (without debugging it), then you should unselect
this option because it greatly reduces the possibilities of the system.
2.5.1.4 More
This option lets you specify options that will be added to the command line. Those options will
be added just before the linker configuration file in the command line. Look at the LD
documentation for more information on the available commands and switches.
2.5.1.5 Libraries
A) Use ST library
When set (by default), this option adds to the application a precompiled library containing a
standard API designed by STMicroelectronics for handling the target peripherals. The library
files are available for every STRx (in thumb and non-thumb mode) and STM32 (thumb2 mode
only) target supported. The sources of the libraries can be found in
“C:\Program Files\Raisonance\Ride\LIB\ARM\<family>_LIB\…”
You can use and distribute them freely.
B) “include UART0 Putchar”
This option adds “io_putchar.a” (or “io_putchar_thumb.a”), which includes standard putchar and
getchar functions using the UART0. It should be used in conjunction with “UART0_stdio.h”
(instead of “stdio.h”). It also redirects the output for functions using stdout, like printf, to the
UART0. The “TEST” example shows how to use it. The sources of the library can be found in
“C:\Program Files\Raisonance\Ride\LIB\ARM\IO_PUTCHAR\…”
You can use and distribute them freely.
C) “Use small printf”
This option adds “smallprintf.a” (or “smallprintf_thumb.a”), which includes a reduced version of
printf. The standard version from libc.a takes about 32Kbytes. The reduced version from
“smallprintf.a” cannot handle floating point numbers but only takes about 6Kbytes. Use the
“Test” example in Ride7 to check the effects of this option. This library has been written by
RAISONANCE but is free and open-source. The sources of the library can be found in
“C:\Program Files\Raisonance\Ride\LIB\ARM\SMALL_PRINTF\…”
You can use and distribute them freely.