doc/manual/install.rst
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Sun, 06 Jan 2019 03:11:39 +0300
changeset 2501 eba2bbb2dd9a
parent 811 66a8812457d6
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;
}
[------------------------------------------------]
811
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
     1
Beremiz installation 
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
     2
====================
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
     3
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
     4
Windows
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
     5
-------
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
     6
Download installer, install. 
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
     7
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
     8
Linux
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
     9
-----
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    10
Pre-requisites::
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    11
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    12
    # Ubuntu/Debian :
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    13
    sudo apt-get install python-wxgtk2.8 pyro mercurial
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    14
    sudo apt-get install build-essential bison flex python-numpy python-nevow
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    15
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    16
Prepare::
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    17
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    18
    mkdir ~/Beremiz
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    19
    cd ~/Beremiz
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    20
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    21
Get Source Code::
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    22
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    23
    cd ~/Beremiz
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    24
    
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    25
    hg clone http://dev.automforge.net/beremiz
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    26
    hg clone http://dev.automforge.net/plcopeneditor
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    27
    hg clone http://dev.automforge.net/matiec
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    28
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    29
Build MatIEC compiler::
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    30
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    31
    cd ~/Beremiz/matiec
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    32
    ./configure
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    33
    make
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    34
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    35
Build CanFestival (optional):: 
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    36
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    37
    # Only needed for CANopen support. Please read CanFestival 
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    38
    # manual to choose CAN interface other than 'virtual'::
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    39
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    40
    cd ~/Beremiz
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    41
    hg clone http://dev.automforge.net/CanFestival-3
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    42
    
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    43
    cd ~/Beremiz/CanFestival-3
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    44
    ./configure --can=virtual
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    45
    make
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    46
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    47
Launch Beremiz::
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    48
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    49
    cd ~/Beremiz/beremiz
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    50
    python Beremiz.py
66a8812457d6 Added subdirectories in documentation, with more deoctree items to test. Enabled i18n in sphinx doc, tested with a small french translation
Edouard Tisserant
parents:
diff changeset
    51