Click Configuration button to open project configuration view.
Configuration area is divided into six different configuration items: Compile, Link, Output, User, Debugger and Download. The first four configurations are building and linking configurations, the last two are debugging/programming configurations.
a) FPU: Select MCU type, it includes Not use FPU, FPU soft and FPU hard(Note: If you select the FPU hard, you need to enable FPU module in the code)
b) Optimization: Select the level of optimization, it includes (None(-O0), Optimize(-O1), Optimize More(-O2), Optimize Most(-O3), Optimize Size(-Os))
c) Support C++: Select this option to support C++ code.
Add / Remove header files' paths
The added paths will be associated to the current path of the project file to be processed.
Add / Remove pretreatment (macro definition) Symbol
User can edit (add) user-defined compile commands.
Show compile commands (can not be edited manually)
a) Use Memory Layout from Memory Window (Checked by default)
Check: Memory Area will be available; Scatter File Area will be unavailable.
Mean to use memory Area memory data, and use IDE default link file (such as link.ld).
Uncheck: Memory Area will be unavailable; Scatter File will be available.
The system will add default link.ld/arm-gcc-link.ld and file in the directory of the project file, at the same time, the link file path is filled into the Scatter File area, and user can select a custom link file in the Scatter File area.
b) Discard unused sections
Allow recovery of unused input section. Segments that contain the entrance symbol and all the segments of undefined symbols in the command line will be retained. Segments that contain a dynamic object reference symbol will also be retained. Check this option to reduce code size.
c) Don’t use standard system startup files
Do not use the standard system startup files when linking. The standard system
libraries are used in default unless ‘-nostdlib’ or ‘-nodefaultlibs’ is used.
d) Library select list
Select link library: Not use C Library, Use base C Library, Use nano C Library*, Semihosting, Retarget
Options: Printf float, Scanf float
Note: "Use nano C Library"
Only work if you are using gcc-arm-none-eabi-4_7 or higher version. If you choose "Use nano C Library", it will provide two more options "Printf float" and "Scanf float". Just like the following picture.
Add/remove library file.
Library is collection of a series of procedures, external function and variables. It is integrated into an application program by the compiler and linker during compilation, and made into a target file and an executable file that can run independently. The CoIDE library is the GCC library. The extended name of CoIDE Library is .a.
The memory area is only available when "Use Memory Layout from Memory Window") is checked.
a) Select: Debug in Flash(default), Debug in RAM
b) In "Memory Area", start address and size for IROM and IRAM can be customized:
IROM and IRAM start address and size is automatically changed according to your choice, or you can manually modify these values.
c) In Start line, IROM and IRAM start address can be customized; in Size line, IROM and IRAM size can be customized.
Scatter File area (available when unchecked "Use Memory Layout from Memory Window", at the same time system in project file directory provides a default link file)
In the area user can specify a custom link file path.
Edit link command area, users can add custom link command.
Cannot be edited, display the link commands information.
The configuration area of output files after building project.
The files generated after building a project will be saved under a directory named with the formation of Executable+"/"+ Name of Executable.
1) Name of Executable: Specify the folder of the output files, the default is the configuration name of the current project configuration;
2) Path of Executable: Specify the output file path
3) Create Executable(.elf): Generate. elf executable files, by check / uncheck decide whether to generate the HEX or BIN file
4) Create Library(.a): Generate. a library file
Customize IDE implementation program Before Build, After Build and Before Debug.
In Before Build/Rebuild area implementation program before Build/Rebuild can be customized; in After Build/Rebuild area implementation program after Build/Rebuild can be customized.
You can directly enter commands, or import. bat or. exe files. After configuration, you need build or rebuild the project.
Note:If you enter command directly, you can use Buildin Variables, you can click "Buildin Variables" link to open the reference document from C:\CooCox\CoIDE\CoIDEHelpFileDir\buildin variables.mht
In Before Debug, if "Auto Compile Before Debugging" is checked, CoIDE will automatically execute incremental compile before debugging launched.
a) Adapter: CoIDE supports Colink, CoLinkEx, CMSIS-DAP, Nu-Link, ST-Link, J-Link and some FTDI-compatible adapter.
b) Port: CoIDE supports SWD and JTAG debug modes.
c) Max Clock (Hz): You can select the clock frequency from 2M, 1M, 500K, 300K and 100K.
Select whether to run to main function when you start debug.
a) Reset Mode: There are three reset modes: HW RESET, VECTRESET and SYSRESETREQ.
b) Semihosting Enable: Check to enable Semihosting function.
c) CacheRom Enable: Check to enable ROM cache.
Target Info area displays the host name and port number.
In Adapter configuration items of the Hardware area, some special link such as J-Link Adapter has the particular configuration items, as shown below. It displays J-link debugger configuration information.
1) Auto Download Before Debugging: automatically download programs before debugging.
2) Verify After Download: verify programs after download.
3) Erase Full Chip: erase the full chip before download.
4) Erase Effected: erasing the affected sectors before download.
5) Do not Erase: do not erase the chip before download.
6) Programming Algorithm Will display Programming Algorithm file.
7) Add..., Remove and Default are used to configure Flash algorithm file.
Note: If you select J-Link as adapter, Download configuration will be unavailable. J-Link do not use the parameter of download configuration, that is different from other adapter.