osek/vdx os open source, sg/oil

職業訓練
https://qiita.com/kaizen_nagoya/items/95368b63fa21d64271ec

# OSEK/VDX OS

OSEK/VDX OS
https://www.toppers.jp/atk1-download.html

osek/vdx os open source
https://qiita.com/kaizen_nagoya/items/59a4202bcb68e2dfd2b5

osek/vdx os open source, config, h8tiny-renesas, header file
https://qiita.com/kaizen_nagoya/items/b4816501832bc0ad5a1e
osek autosar oil https://qiita.com/kaizen_nagoya/items/2df939e15e6282d5c380
osek/vdx os open source, sg/oil https://qiita.com/kaizen_nagoya/items/0b7f64c0e7bb3474b5f3
osek/vdx os open source, sample https://qiita.com/kaizen_nagoya/items/98ef0c547b60f114a9f9
osek/vdx os open source, kernel https://qiita.com/kaizen_nagoya/items/df48f89c281933b323cf
osek/vdx os open source, kernel, ECC2  https://qiita.com/kaizen_nagoya/items/2140339711df20181130

## github

kaizen-nagoya/osek
https://github.com/kaizen-nagoya/osek/

### sg/oil
https://github.com/kaizen-nagoya/osek/tree/main/sg/impl_oil

mpl_os_bcc1.oil
impl_os_bcc2.oil
impl_os_ecc1.oil
impl_os_ecc2.oil
#### mpl_os_bcc1.oil
```c:mpl_os_bcc1.oil
    OS {
        ENUM [STANDARD, EXTENDED] STATUS = EXTENDED;
        BOOLEAN STARTUPHOOK = FALSE;
        BOOLEAN ERRORHOOK = FALSE;
        BOOLEAN SHUTDOWNHOOK = FALSE;
        BOOLEAN PRETASKHOOK = FALSE;
        BOOLEAN POSTTASKHOOK = FALSE;
        BOOLEAN USEGETSERVICEID = TRUE;
        BOOLEAN USEPARAMETERACCESS = TRUE;
        BOOLEAN USERESSCHEDULER = FALSE;
    };

    APPMODE { };

    TASK {
        BOOLEAN [
            TRUE {
                APPMODE_TYPE APPMODE[];
            },
            FALSE
        ] AUTOSTART = FALSE;

        UINT32 [0..7] PRIORITY = NO_DEFAULT;
        UINT32 [1..1] ACTIVATION = NO_DEFAULT;
        ENUM [NON, FULL] SCHEDULE = NO_DEFAULT;
        EVENT_TYPE EVENT[];
        RESOURCE_TYPE RESOURCE[];
//        MESSAGE_TYPE MESSAGE[];

        UINT32 STACKSIZE = 1024;
    };

    ISR {
        UINT32 [1, 2] CATEGORY = NO_DEFAULT;
        UINT32 PRIORITY = NO_DEFAULT;
        UINT32 ENTRY = NO_DEFAULT;
        RESOURCE_TYPE RESOURCE[];
//        MESSAGE_TYPE MESSAGE[];
    };

    COUNTER {
        UINT32 MINCYCLE = NO_DEFAULT;
        UINT32 [1..2147483647] MAXALLOWEDVALUE = NO_DEFAULT;
        UINT32 TICKSPERBASE = NO_DEFAULT;
    };

    ALARM {
        COUNTER_TYPE COUNTER;
        ENUM [
            ACTIVATETASK {
                TASK_TYPE TASK;
            },
            SETEVENT {
                TASK_TYPE TASK;
                EVENT_TYPE EVENT;
            },
            ALARMCALLBACK {
                SYMBOLNAME ALARMCALLBACKNAME = NO_DEFAULT;
            }
        ] ACTION = NO_DEFAULT;

        BOOLEAN [
            TRUE {
                UINT32 ALARMTIME = NO_DEFAULT;
                UINT32 CYCLETIME = NO_DEFAULT;
                APPMODE_TYPE APPMODE[];
            },
            FALSE
        ] AUTOSTART = FALSE;
    };

    EVENT {
        UINT32 WITH_AUTO MASK = AUTO;
    };

    RESOURCE {
        ENUM [
            STANDARD,
            LINKED {
                RESOURCE_TYPE LINKEDRESOURCE;
            },
            INTERNAL
        ] RESOURCEPROPERTY = NO_DEFAULT;
    };

```
#### impl_os_bcc2.oil
```c:impl_os_bcc2.oil
    OS {
        ENUM [STANDARD, EXTENDED] STATUS = EXTENDED;
        BOOLEAN STARTUPHOOK = FALSE;
        BOOLEAN ERRORHOOK = FALSE;
        BOOLEAN SHUTDOWNHOOK = FALSE;
        BOOLEAN PRETASKHOOK = FALSE;
        BOOLEAN POSTTASKHOOK = FALSE;
        BOOLEAN USEGETSERVICEID = TRUE;
        BOOLEAN USEPARAMETERACCESS = TRUE;
        BOOLEAN USERESSCHEDULER = FALSE;
    };
    
    APPMODE { };

    TASK {
        BOOLEAN [
            TRUE {
                APPMODE_TYPE APPMODE[];
            },
            FALSE
        ] AUTOSTART = FALSE;

        UINT32 [0..7] PRIORITY = NO_DEFAULT;
        UINT32 [1..256] ACTIVATION = NO_DEFAULT;
        ENUM [NON, FULL] SCHEDULE = NO_DEFAULT;
        EVENT_TYPE EVENT[];
        RESOURCE_TYPE RESOURCE[];
//        MESSAGE_TYPE MESSAGE[];

        UINT32 STACKSIZE = 1024;
    };

    ISR {
        UINT32 [1, 2] CATEGORY = NO_DEFAULT;
        UINT32 PRIORITY = NO_DEFAULT;
        UINT32 ENTRY = NO_DEFAULT;
        RESOURCE_TYPE RESOURCE[];
//        MESSAGE_TYPE MESSAGE[];
    };

    COUNTER {
        UINT32 MINCYCLE = NO_DEFAULT;
        UINT32 [1..2147483647] MAXALLOWEDVALUE = NO_DEFAULT;
        UINT32 TICKSPERBASE = NO_DEFAULT;
    };

    ALARM {
        COUNTER_TYPE COUNTER;
        ENUM [
            ACTIVATETASK {
                TASK_TYPE TASK;
            },
            SETEVENT {
                TASK_TYPE TASK;
                EVENT_TYPE EVENT;
            },
            ALARMCALLBACK {
                SYMBOLNAME ALARMCALLBACKNAME = NO_DEFAULT;
            }
        ] ACTION = NO_DEFAULT;

        BOOLEAN [
            TRUE {
                UINT32 ALARMTIME = NO_DEFAULT;
                UINT32 CYCLETIME = NO_DEFAULT;
                APPMODE_TYPE APPMODE[];
            },
            FALSE
        ] AUTOSTART = FALSE;
    };

    EVENT {
        UINT32 WITH_AUTO MASK = AUTO;
    };

    RESOURCE {
        ENUM [
            STANDARD,
            LINKED {
                RESOURCE_TYPE LINKEDRESOURCE;
            },
            INTERNAL
        ] RESOURCEPROPERTY = NO_DEFAULT;
    };

```
#### impl_os_ecc1.oil
```c:impl_os_ecc1.oil
    OS {
        ENUM [STANDARD, EXTENDED] STATUS = EXTENDED;
        BOOLEAN STARTUPHOOK = FALSE;
        BOOLEAN ERRORHOOK = FALSE;
        BOOLEAN SHUTDOWNHOOK = FALSE;
        BOOLEAN PRETASKHOOK = FALSE;
        BOOLEAN POSTTASKHOOK = FALSE;
        BOOLEAN USEGETSERVICEID = TRUE;
        BOOLEAN USEPARAMETERACCESS = TRUE;
        BOOLEAN USERESSCHEDULER = FALSE;
    };

    APPMODE { };

    TASK {
        BOOLEAN [
            TRUE {
                APPMODE_TYPE APPMODE[];
            },
            FALSE
        ] AUTOSTART = FALSE;

        UINT32 [0..15] PRIORITY = NO_DEFAULT;
        UINT32 [1..1] ACTIVATION = NO_DEFAULT;
        ENUM [NON, FULL] SCHEDULE = NO_DEFAULT;
        EVENT_TYPE EVENT[];
        RESOURCE_TYPE RESOURCE[];
//        MESSAGE_TYPE MESSAGE[];

        UINT32 STACKSIZE = 1024;
    };

    ISR {
        UINT32 [1, 2] CATEGORY = NO_DEFAULT;
        UINT32 PRIORITY = NO_DEFAULT;
        UINT32 ENTRY = NO_DEFAULT;
        RESOURCE_TYPE RESOURCE[];
//        MESSAGE_TYPE MESSAGE[];
    };

    COUNTER {
        UINT32 MINCYCLE = NO_DEFAULT;
        UINT32 [1..2147483647] MAXALLOWEDVALUE = NO_DEFAULT;
        UINT32 TICKSPERBASE = NO_DEFAULT;
    };

    ALARM {
        COUNTER_TYPE COUNTER;
        ENUM [
            ACTIVATETASK {
                TASK_TYPE TASK;
            },
            SETEVENT {
                TASK_TYPE TASK;
                EVENT_TYPE EVENT;
            },
            ALARMCALLBACK {
                SYMBOLNAME ALARMCALLBACKNAME = NO_DEFAULT;
            }
        ] ACTION = NO_DEFAULT;

        BOOLEAN [
            TRUE {
                UINT32 ALARMTIME = NO_DEFAULT;
                UINT32 CYCLETIME = NO_DEFAULT;
                APPMODE_TYPE APPMODE[];
            },
            FALSE
        ] AUTOSTART = FALSE;
    };

    EVENT {
        UINT32 WITH_AUTO MASK = AUTO;
    };

    RESOURCE {
        ENUM [
            STANDARD,
            LINKED {
                RESOURCE_TYPE LINKEDRESOURCE;
            },
            INTERNAL
        ] RESOURCEPROPERTY = NO_DEFAULT;
    };

```
#### impl_os_ecc2.oil
```c: impl_os_ecc2.oil
    OS {
        ENUM [STANDARD, EXTENDED] STATUS = EXTENDED;
        BOOLEAN STARTUPHOOK = FALSE;
        BOOLEAN ERRORHOOK = FALSE;
        BOOLEAN SHUTDOWNHOOK = FALSE;
        BOOLEAN PRETASKHOOK = FALSE;
        BOOLEAN POSTTASKHOOK = FALSE;
        BOOLEAN USEGETSERVICEID = TRUE;
        BOOLEAN USEPARAMETERACCESS = TRUE;
        BOOLEAN USERESSCHEDULER = FALSE;
    };

    APPMODE { };

    TASK {
        BOOLEAN [
            TRUE {
                APPMODE_TYPE APPMODE[];
            },
            FALSE
        ] AUTOSTART = FALSE;

        UINT32 [0..15] PRIORITY = NO_DEFAULT;
        UINT32 [1..256] ACTIVATION = NO_DEFAULT;
        ENUM [NON, FULL] SCHEDULE = NO_DEFAULT;
        EVENT_TYPE EVENT[];
        RESOURCE_TYPE RESOURCE[];
//        MESSAGE_TYPE MESSAGE[];

        UINT32 STACKSIZE = 1024;
    };

    ISR {
        UINT32 [1, 2] CATEGORY = NO_DEFAULT;
        UINT32 PRIORITY = NO_DEFAULT;
        UINT32 ENTRY = NO_DEFAULT;
        RESOURCE_TYPE RESOURCE[];
//        MESSAGE_TYPE MESSAGE[];
    };

    COUNTER {
        UINT32 MINCYCLE = NO_DEFAULT;
        UINT32 [1..2147483647] MAXALLOWEDVALUE = NO_DEFAULT;
        UINT32 TICKSPERBASE = NO_DEFAULT;
    };

    ALARM {
        COUNTER_TYPE COUNTER;
        ENUM [
            ACTIVATETASK {
                TASK_TYPE TASK;
            },
            SETEVENT {
                TASK_TYPE TASK;
                EVENT_TYPE EVENT;
            },
            ALARMCALLBACK {
                SYMBOLNAME ALARMCALLBACKNAME = NO_DEFAULT;
            }
        ] ACTION = NO_DEFAULT;

        BOOLEAN [
            TRUE {
                UINT32 ALARMTIME = NO_DEFAULT;
                UINT32 CYCLETIME = NO_DEFAULT;
                APPMODE_TYPE APPMODE[];
            },
            FALSE
        ] AUTOSTART = FALSE;
    };

    EVENT {
        UINT32 WITH_AUTO MASK = AUTO;
    };

    RESOURCE {
        ENUM [
            STANDARD,
            LINKED {
                RESOURCE_TYPE LINKEDRESOURCE;
            },
            INTERNAL
        ] RESOURCEPROPERTY = NO_DEFAULT;
    };

```