targets/XSD_toolchain_gcc
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Tue, 12 Sep 2017 16:49:35 +0300
changeset 1800 1711339585ce
parent 1478 69fe0b81e951
permissions -rwxr-xr-x
make possible to turn off at compile time online debugging, logging
and external sync functionality

Defines TARGET_DEBUG_DISABLE, TARGET_LOGGING_DISABLE, TARGET_EXT_SYNC_DISABLE
allow to use generated PLC code in low-cost microcontrollers,
integrate into external programs and so on.

main.c:
extern void __run(void);
int main(void)
{
for(;;) {
__run();
// sleep common_ticktime__ ns
// add common_ticktime__ ns to __CURRENT_TIME
}
return 0;
}

Compile for example for arm bare-metal:
../build$ arm-none-eabi-gcc \
-DTARGET_DEBUG_DISABLE -DTARGET_LOGGER_DISABLE
-DTARGET_EXT_SYNC_DISABLE \
-flto -ffunction-sections -fdata-sections -I../../../../matiec/lib/C \
*.c \
-nodefaultlibs --specs=nano.specs -Wl,--static -Wl,--gc-section -Wl,--start-group -lc -lm -lnosys -lgcc -Wl,--end-group
251
2066d2c65b71 change default linker (ld ) to g++ in XSD for gcc toolchain
greg
parents: 203
diff changeset
     1
2066d2c65b71 change default linker (ld ) to g++ in XSD for gcc toolchain
greg
parents: 203
diff changeset
     2
          <xsd:attribute name="Compiler" type="xsd:string" use="optional" default="gcc"/>
1478
69fe0b81e951 make attribute CFLAGS and LDFLAGS optional and add default empty value
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 621
diff changeset
     3
          <xsd:attribute name="CFLAGS" type="xsd:string" use="optional" default=""/>
621
a3ce93d63832 Default gcc toolchain config now use 'gcc' for linking. Was left accidentally to g++ since old times of wxSVG based SVGUI. Cleaned up gcc parameters when linking
Edouard Tisserant
parents: 251
diff changeset
     4
          <xsd:attribute name="Linker" type="xsd:string" use="optional" default="gcc"/>
1478
69fe0b81e951 make attribute CFLAGS and LDFLAGS optional and add default empty value
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 621
diff changeset
     5
          <xsd:attribute name="LDFLAGS" type="xsd:string" use="optional" default=""/>