bitbucket-pipelines.yml
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Sun, 06 Jan 2019 03:11:39 +0300
changeset 2501 eba2bbb2dd9a
parent 2295 dda34e671700
permissions -rw-r--r--
Make online debug optional

It could be useful for very small targets like Atmega (Arduino) and
for target bring-up there developer want to have running PLC program,
but has not implemented runtime communication yet.


TARGET_DEBUG_AND_RETAIN_DISABLE - completely disable debug and retain
functionality. Previously named TARGET_DEBUG_DISABLE.

TARGET_ONLINE_DEBUG_DISABLE - can be used to enable retain
functionality (no define TARGET_DEBUG_AND_RETAIN_DISABLE is used), but disable
online debug with corresponding RAM/FLASH overhead.

TARGET_LOGGING_DISABLE - disables logging functionality from runtime and PLC program

TARGET_EXT_SYNC_DISABLE - disables PLC program synchronization with
external events. For example, it could be used to synchronize several
PLCs that control motors for different axes.

By default all these options are off.

To test generate program for Generic target, put following files in
project files directory and run build.sh after generating PLC program.
This is very easy to integrate into makefile (Generic target).

[------------- build.sh --------------------------]
files=$(find $PWD/../build -iname '*.c' | grep -v POUS.c)
arm-none-eabi-gcc \
-DTARGET_DEBUG_AND_RETAIN_DISABLE \
-DTARGET_ONLINE_DEBUG_DISABLE \
-DTARGET_LOGGING_DISABLE \
-DTARGET_EXT_SYNC_DISABLE \
-flto -ffunction-sections -fdata-sections -I../../../../matiec/lib/C \
$files \
main.c \
-Wl,--Map=./program.map,--cref \
-nodefaultlibs --specs=nano.specs -Wl,--static -Wl,--gc-section -Wl,--start-group -lc -lm -lnosys -lgcc -Wl,--end-group
[------------------------------------------------]

[------------- main.c --------------------------]
#ifndef TARGET_DEBUG_AND_RETAIN_DISABLE
void Retain(void){}
void InValidateRetainBuffer(void){}
void ValidateRetainBuffer(void){}
#endif

extern void __run(void);
int main(void)
{
for(;;) {
__run();
// sleep common_ticktime__ ns
// add common_ticktime__ ns to __CURRENT_TIME
}
return 0;
}
[------------------------------------------------]
1796
4f7a0c40a7c3 add couple Beremiz application tests
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1787
diff changeset
     1
image: skvorl/beremiz-requirements
1787
32115bf79d87 add configuration for Bitbucket pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff changeset
     2
32115bf79d87 add configuration for Bitbucket pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff changeset
     3
pipelines:
2295
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
     4
  default:
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
     5
    - parallel:
1787
32115bf79d87 add configuration for Bitbucket pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff changeset
     6
        - step:
2295
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
     7
            name: Codestyle checks
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
     8
            script:
1880
e5ddbaf756cb make CanFestival to be at the expected place in bitbucket pipelines container
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1820
diff changeset
     9
              - ln -s /CanFestival-3 $BITBUCKET_CLONE_DIR/../CanFestival-3
1810
70768bd1dab3 use pytest for testing
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1796
diff changeset
    10
              - /usr/bin/python --version
1787
32115bf79d87 add configuration for Bitbucket pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents:
diff changeset
    11
              - ./tests/tools/check_source.sh
2295
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
    12
        - step:
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
    13
            name: Application tests
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
    14
            max-time: 10
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
    15
            script:
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
    16
              - ln -s /CanFestival-3 $BITBUCKET_CLONE_DIR/../CanFestival-3
1820
76f5eba31afd add shell script to run all python tests and automatically handle Xvfb
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1810
diff changeset
    17
              - ./tests/tools/run_python_tests.sh
2295
dda34e671700 Separate application tests and code-style checking in different steps in bitbucket-pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 1880
diff changeset
    18