#   cd c:\nobackup\workspace-mbed
#   rm -rf NUCLEO-F767_LIFI_4CH_os2_v1
#   mbed import https://os.mbed.com/users/JongYongPark/code/NUCLEO-F767_LIFI_4CH_os2_v1
#   cd NUCLEO-F767_LIFI_4CH_os2_v1


set PYTHONIOENCODING=UTF-8
mbed compile -t GCC_ARM -m NUCLEO_F767ZI -v

/////////////////////////////
// hg 명령어
////////////////////////////
현재 수정본을 모두 무시한다. 그리고 pull로 땡기면서 동시에 update 한다.
hg incoming && hg pull -u && hg up -C

온라인 컴파일러 에서 문제가 발생시 cli로 테스트 해보면 문제의 원인을 확인할 수 있다.

////////////////////////////////
// os2 cli build 
// 해결 : online compiler 에서 eclipse-gcc-arm 이나 gnu-arm-eclipse 로 export 한 후에 mbed 디렉토리를 복사해 사용하면 된다.
////////////////////////////////
문제 정
    online compiler에서는 잘 동작하나 cli 에서는 문제 발생함.


솔루션 - 동작안함
    https://github.com/ARMmbed/mbed-cli/issues/436
    rm -rf mbed
    mbed add http://os.mbed.com/users/mbed_official/code/mbed-dev/
    mbed add http://os.mbed.com/users/mbed_official/code/mbed/

실제로 이것으로 해도 아래처럼 다운로드가 되지 않는다. 
c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1 (default)
λ mbed add https://os.mbed.com/users/mbed_official/code/mbed
    [mbed] Working path "c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1" (program)
    [mbed] Adding library "mbed" from "https://os.mbed.com/users/mbed_official/code/mbed" at latest revision in the current branch
    [mbed] ERROR: Unable to clone repository (https://os.mbed.com/users/mbed_official/code/mbed/)

build error log
    [Fatal Error] app.h@4,10: mbed.h: No such file or directory
    [DEBUG] Return: 1
    [DEBUG] Output: In file included from .\driverLifiTx.h:4,
    [DEBUG] Output:                  from .\driverLifiTx.cpp:1:
    [DEBUG] Output: .\app.h:4:10: fatal error: mbed.h: No such file or directory
    [DEBUG] Output:  #include "mbed.h"
    [DEBUG] Output:           ^~~~~~~~
    [DEBUG] Output: compilation terminated.
    Traceback (most recent call last):
      File "c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1\.temp\tools\make.py", line 293, in <module>
        ignore=options.ignore
      File "c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1\.temp\tools\build_api.py", line 575, in build_project
        objects = toolchain.compile_sources(resources, sorted(resources.get_file_paths(FileType.INC_DIR)))
      File "c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1\.temp\tools\toolchains\__init__.py", line 411, in compile_sources
        return self.compile_queue(queue, objects)
      File "c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1\.temp\tools\toolchains\__init__.py", line 474, in compile_queue
        raise ToolException(err)
    ToolException: In file included from .\driverLifiTx.h:4,
                     from .\driverLifiTx.cpp:1:
    .\app.h:4:10: fatal error: mbed.h: No such file or directory
     #include "mbed.h"
              ^~~~~~~~
    compilation terminated.
    
    [mbed] ERROR: "C:\Python27\python.exe" returned error.
           Code: 1
           Path: "c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1"
           Command: "C:\Python27\python.exe -u c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1\.temp\tools\make.py -t GCC_ARM -m NUCLEO_F767ZI --source . --build .\BUILD\NUCLEO_F767ZI\GCC_ARM -v"
           Tip: You could retry the last command with "-v" flag for verbose output
           
솔류션 - 실패 
e95d10626187 을 다운받아 사용한다. - 그리도 mbed.h가 없다
https://github.com/ARMmbed/mbed-cli/issues/805
    Hey folks, I took a look and indeed mbed.h is missing from the releases with the hashes 65be27845400 and 3a7713b1edbc. 
    I can confirm what @toyowata said (thanks very much!), 
    the e95d10626187 revision does contain the mbed.h. 
    If you need to work offline, I would recommend using that revision if possible. 
    If you need the latest versions, I have found that the online compiler still seems to be working. 
    I will be pursuing this issue more, thanks for raising this (and sorry for the slow response).

성공한 필드 결과
    [DEBUG] Output: .\mbedOsUtils.cpp:41:20: warning: format '%d' expects argument of type 'int', but argument 2 has type 'uint32_t' {aka 'long unsigned int'} [-Wformat=]
    [DEBUG] Output:              printf("\n\t\tNumber of stacks stats accumulated in the structure: %d", stack_info[i].stack_cnt);
    [DEBUG] Output:                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~~
    [DEBUG] Output: .\mbedOsUtils.cpp:46:1: warning: no return statement in function returning non-void [-Wreturn-type]
    [DEBUG] Output:  }
    [DEBUG] Output:  ^
    Link: NUCLEO-F767_LIFI_4CH_os2_v1
    Preproc: arm-none-eabi-cpp -E -P .\mbed\TARGET_NUCLEO_F767ZI\TOOLCHAIN_GCC_ARM\STM32F767xI.ld -Wl,--gc-sections -Wl,--wrap,main -Wl,--wrap,_malloc_r -Wl,--wrap,_free_r -Wl,--wrap,_realloc_r -Wl,--wrap,_memalign_r -Wl,--wrap,_calloc_r -Wl,--wrap,exit -Wl,--wrap,atexit -Wl,-n -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=softfp -o .\BUILD\NUCLEO_F767ZI\GCC_ARM\.link_script.ld
    [DEBUG] Return: 0
    Link: arm-none-eabi-gcc @.\BUILD\NUCLEO_F767ZI\GCC_ARM\.link_options.txt
    [DEBUG] Return: 0
    Elf2Bin: NUCLEO-F767_LIFI_4CH_os2_v1
    FromELF: arm-none-eabi-objcopy -O binary .\BUILD\NUCLEO_F767ZI\GCC_ARM\NUCLEO-F767_LIFI_4CH_os2_v1.elf .\BUILD\NUCLEO_F767ZI\GCC_ARM\NUCLEO-F767_LIFI_4CH_os2_v1.bin
    [DEBUG] Return: 0
    | Module                    |         .text |       .data |        .bss |
    |---------------------------|---------------|-------------|-------------|
    | BUILD\NUCLEO_F767ZI       |   7842(+7842) |     36(+36) | 2380(+2380) |
    | [fill]                    |     173(+173) |     14(+14) |     23(+23) |
    | [lib]\c.a                 | 58916(+58916) | 2574(+2574) |   127(+127) |
    | [lib]\gcc.a               |   1968(+1968) |       0(+0) |       0(+0) |
    | [lib]\mbed.a              |   6504(+6504) |       4(+4) |   254(+254) |
    | [lib]\misc                |     208(+208) |     12(+12) |     28(+28) |
    | mbed\TARGET_NUCLEO_F767ZI | 15758(+15758) |   264(+264) | 1140(+1140) |
    | Subtotals                 | 91369(+91369) | 2904(+2904) | 3952(+3952) |
    Total Static RAM memory (data + bss): 6856(+6856) bytes
    Total Flash memory (text + data): 94273(+94273) bytes
    
    Image: .\BUILD\NUCLEO_F767ZI\GCC_ARM\NUCLEO-F767_LIFI_4CH_os2_v1.bin
    
    
//////////////////////
// mbed 0s5 cli export 
// 잘 동작 eclipse-extras/ 폴더가 생
/////////////////
    
    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
    λ ls
    app.h      compiler_abstraction.h  driverLifiRx.h    driverUserButton.cpp  driverUserLed.h   lifiTranceiver.cpp     main.cpp                mbed_memory_status.h  mbed-os/         PinDetect.h     testOthers.cpp
    BUILD/     CONTRIBUTING.md         driverLifiTx.cpp  driverUserButton.h    lifiEmitter.cpp   lifiTranceiver.h       mbed_app.json           mbed_settings.py      mbed-os.lib      README.md       testSerial.cpp
    build.bat  driverLifiRx.cpp        driverLifiTx.h    driverUserLed.cpp     lifiReceiver.cpp  lifiTranceiverLocal.h  mbed_memory_status.cpp  mbed_settings.pyc     mbedOsUtils.cpp  stats_report.h
    
    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
    λ mbed export -i eclipse_gcc_arm -m NUCLEO_F767ZI --profile debug -v
    [mbed] Working path "c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1" (program)
    [mbed] Exec "C:\Python27\python.exe -u c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1\mbed-os\tools\project.py -i eclipse_gcc_arm -m NUCLEO_F767ZI --source . --profile debug" in "c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1"
    Scan: NUCLEO-F767_LIFI_4CH_v1
    
    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
    λ ls
    app.h                   CONTRIBUTING.md   driverLifiTx.h        driverUserLed.h      lifiReceiver.cpp       main.cpp       mbed_memory_status.cpp  mbed-os/         README.md
    BUILD/                  driverLifiRx.cpp  driverUserButton.cpp  eclipse-extras/      lifiTranceiver.cpp     Makefile       mbed_memory_status.h    mbed-os.lib      stats_report.h
    build.bat               driverLifiRx.h    driverUserButton.h    GettingStarted.html  lifiTranceiver.h       mbed_app.json  mbed_settings.py        mbedOsUtils.cpp  testOthers.cpp
    compiler_abstraction.h  driverLifiTx.cpp  driverUserLed.cpp     lifiEmitter.cpp      lifiTranceiverLocal.h  mbed_config.h  mbed_settings.pyc       PinDetect.h      testSerial.cpp
    
    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
    λ mbed deploy
    [mbed] Working path "c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1" (program)
    [mbed] Updating library "mbed-os" to rev #51d55508e840 (tag: mbed-os-5.11.5)
    
    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
    λ ls
    app.h                   CONTRIBUTING.md   driverLifiTx.h        driverUserLed.h      lifiReceiver.cpp       main.cpp       mbed_memory_status.cpp  mbed-os/         README.md
    BUILD/                  driverLifiRx.cpp  driverUserButton.cpp  eclipse-extras/      lifiTranceiver.cpp     Makefile       mbed_memory_status.h    mbed-os.lib      stats_report.h
    build.bat               driverLifiRx.h    driverUserButton.h    GettingStarted.html  lifiTranceiver.h       mbed_app.json  mbed_settings.py        mbedOsUtils.cpp  testOthers.cpp
    compiler_abstraction.h  driverLifiTx.cpp  driverUserLed.cpp     lifiEmitter.cpp      lifiTranceiverLocal.h  mbed_config.h  mbed_settings.pyc       PinDetect.h      testSerial.cpp
    
    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
    
//////////////////////
// mbed 0s2 cli export 
// 잘 안됨 - 이것은 하지 말자 
/////////////////
https://os.mbed.com/docs/mbed-os/v5.11/tutorials/eclipse.html

    Arm Mbed CLI
    In your project folder, run:
    
    # Replace K64F with your target board
    # If you're not using GCC ARM, use -i eclipse_armc5 for ARMCC, or -i eclipse_iar for IAR
    
    $ mbed export -i eclipse_gcc_arm -m K64F --profile debug

mbed export -i eclipse_gcc_arm -m NUCLEO_F767ZI --profile debug -v

//////////////////////
// gcc compiler
//////////////////////
    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
    λ where arm-none-eabi-g++
        C:\nobackup\dev_tool\gnuarmemb\bin\arm-none-eabi-g++.exe
        C:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\bin\arm-none-eabi-g++.exe
        C:\nobackup\dev_tool\xPacks\@gnu-mcu-eclipse\arm-none-eabi-gcc\8.2.1-1.2.1\.content\bin\arm-none-eabi-g++.exe
    
    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
    λ C:\nobackup\dev_tool\gnuarmemb\bin\arm-none-eabi-g++.exe -v
        Using built-in specs.
        COLLECT_GCC=C:\nobackup\dev_tool\gnuarmemb\bin\arm-none-eabi-g++.exe
        COLLECT_LTO_WRAPPER=c:/nobackup/dev_tool/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.2.1/lto-wrapper.exe
        Target: arm-none-eabi
        Configured with: /tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/src/gcc/configure --build=x86_64-linux-gnu --host=i686-w64-mingw32 --target=arm-none-eabi --prefix=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/install-mingw --libexecdir=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/install-mingw/lib --infodir=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-mingw-wildcard --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/install-mingw/arm-none-eabi --with-libiconv-prefix=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/build-mingw/host-libs/usr --with-gmp=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/build-mingw/host-libs/usr --with-mpfr=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/build-mingw/host-libs/usr --with-mpc=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/build-mingw/host-libs/usr --with-isl=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/build-mingw/host-libs/usr --with-libelf=/tmp/jenkins/jenkins-GCC-8-build_toolchain_docker-519_20181216_1544945247/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for Arm Embedded Processors 8-2018-q4-major' --with-multilib-list=rmprofile
        Thread model: single
        gcc version 8.2.1 20181213 (release) [gcc-8-branch revision 267074] (GNU Tools for Arm Embedded Processors 8-2018-q4-major)
    
    
    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
        λ "C:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\bin\arm-none-eabi-g++.exe" -v
        Using built-in specs.
        COLLECT_GCC=C:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\bin\arm-none-eabi-g++.exe
        COLLECT_LTO_WRAPPER=c:/program\ files\ (x86)/gnu\ tools\ arm\ embedded/6\ 2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/lto-wrapper.exe
        Target: arm-none-eabi
        Configured with: /tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/src/gcc/configure --build=x86_64-linux-gnu --host=i686-w64-mingw32 --target=arm-none-eabi --prefix=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/install-mingw --libexecdir=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/install-mingw/lib --infodir=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-mingw-wildcard --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/install-mingw/arm-none-eabi --with-libiconv-prefix=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/build-mingw/host-libs/usr --with-gmp=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/build-mingw/host-libs/usr --with-mpfr=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/build-mingw/host-libs/usr --with-mpc=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/build-mingw/host-libs/usr --with-isl=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/build-mingw/host-libs/usr --with-libelf=/tmp/jenkins-GCC-6-buildandreg-223_20170621_1498033910/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors 6-2017-q2-update' --with-multilib-list=rmprofile
        Thread model: single
        gcc version 6.3.1 20170620 (release) [ARM/embedded-6-branch revision 249437] (GNU Tools for ARM Embedded Processors 6-2017-q2-update)
        
        c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_v1 (default)
        λ C:\nobackup\dev_tool\xPacks\@gnu-mcu-eclipse\arm-none-eabi-gcc\8.2.1-1.2.1\.content\bin\arm-none-eabi-g++.exe -v
        Using built-in specs.
        COLLECT_GCC=C:\nobackup\dev_tool\xPacks\@gnu-mcu-eclipse\arm-none-eabi-gcc\8.2.1-1.2.1\.content\bin\arm-none-eabi-g++.exe
        COLLECT_LTO_WRAPPER=c:/nobackup/dev_tool/xpacks/@gnu-mcu-eclipse/arm-none-eabi-gcc/8.2.1-1.2.1/.content/bin/../libexec/gcc/arm-none-eabi/8.2.1/lto-wrapper.exe
        Target: arm-none-eabi
        Configured with: /Host/Work/arm-none-eabi-gcc-8.2.1-1.2/gcc/configure --prefix=/Host/Work/arm-none-eabi-gcc-8.2.1-1.2/install/win64/arm-none-eabi-gcc --infodir=/Host/Work/arm-none-eabi-gcc-8.2.1-1.2/install/win64/arm-none-eabi-gcc/share/doc/info --mandir=/Host/Work/arm-none-eabi-gcc-8.2.1-1.2/install/win64/arm-none-eabi-gcc/share/doc/man --htmldir=/Host/Work/arm-none-eabi-gcc-8.2.1-1.2/install/win64/arm-none-eabi-gcc/share/doc/html --pdfdir=/Host/Work/arm-none-eabi-gcc-8.2.1-1.2/install/win64/arm-none-eabi-gcc/share/doc/pdf --build=x86_64-unknown-linux-gnu --host=x86_64-w64-mingw32 --target=arm-none-eabi --with-pkgversion='GNU MCU Eclipse ARM Embedded GCC\x2C 64-bit' --enable-languages=c,c++ --enable-mingw-wildcard --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/Host/Work/arm-none-eabi-gcc-8.2.1-1.2/install/win64/arm-none-eabi-gcc/arm-none-eabi --with-multilib-list=rmprofile --disable-rpath --disable-build-format-warnings --with-system-zlib
        Thread model: single
        gcc version 8.2.1 20181213 (release) [gcc-8-branch revision 267074] (GNU MCU Eclipse ARM Embedded GCC, 64-bit)



//////////////////////
// mbed -eclipse 작업
// 빌드성공 - 아래처럼 스크립트를 수정해야 한다. make 에서 $^ 을 인식하지 못한다.
$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS) #$(PROJECT).link_script.ld 
    @echo '------------------'
    @echo "$(OBJECTS)"
    @echo '------------------'
    @echo "$(SYS_OBJECTS)"
    @echo '------------------'
    @echo "$(PROJECT).link_script.ld"
    @echo '------------------'
    @echo "$@ / $< "  # $^"
    @echo '------------------'  
#   +@echo "$(filter %.o, $^)" > .link_options.txt
    +@echo "$(all_object)" > .link_options.txt
#   +@echo "$(filter %.o, $^)" 
    +@echo "link: $(notdir $@)"
#   @$(LD) $(LD_FLAGS) -T $(filter-out %.o, $^) $(LIBRARY_PATHS) --output $@ @.link_options.txt $(LIBRARIES) $(LD_SYS_LIBS)
    @$(LD) $(LD_FLAGS) -T $(PROJECT).link_script.ld  $(LIBRARY_PATHS) --output $@ @.link_options.txt $(LIBRARIES) $(LD_SYS_LIBS)

/////////////////
https://os.mbed.com/docs/mbed-os/v5.11/tutorials/eclipse.html

Exporting a project
    To export your project to Eclipse, you can use either the Arm Mbed Online Compiler or Arm Mbed CLI.
    
    Online compiler
    Right click on your project.
    
    Select Export Program....
    
    Under Export toolchain, select Eclipse (GCC ARM).
    
    For most targets you can also export to IAR or ARMCC.
    Click Export.
    
    Unpack to a convenient location. Make a note of this location for the import step.

Arm Mbed CLI
    In your project folder, run:
    
    # Replace K64F with your target board
    # If you're not using GCC ARM, use -i eclipse_armc5 for ARMCC, or -i eclipse_iar for IAR
    
    $ mbed export -i eclipse_gcc_arm -m K64F --profile mbed-os/tools/profiles/debug.json

Importing the project in Eclipse
    Open Eclipse.
    
    On the Welcome screen, select Import a project with a working Makefile.
    
    Select the folder to which you extracted your Mbed OS project.
    
    Under Toolchain for Indexer Settings, select <none>.
    Click Finish.
    
    Dismiss the Welcome screen.
    
    Select Project > Build Project to build the project.

my setting 
    lifi_os2_v1_eclipse
    C:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi
    
    mbed config -G GCC_PATH C:\nobackup\dev_tool\xPacks\@gnu-mcu-eclipse\arm-none-eabi-gcc\8.2.1-1.2.1\.content
    C:\nobackup\dev_tool\xPacks\@gnu-mcu-eclipse\windows-build-tools\2.11.1-1\.content\bin  
    
    https://stackoverflow.com/questions/9546324/adding-directory-to-path-environment-variable-in-windows
    set PATH=%PATH%;C:\nobackup\dev_tool\xPacks\@gnu-mcu-eclipse\windows-build-tools\2.11.1-1\.content\bin;C:\nobackup\dev_tool\xPacks\@gnu-mcu-eclipse\arm-none-eabi-gcc\8.2.1-1.2.1\.content
    
    
//////////////////////
// mbed -eclipse command line build
/////////////////


../mbed/platform/Callback.h:295:10: note: declared here
     void attach(R(*func)())
          ^~~~~~
      Successfully remade target file 'testSerial.o'.
       File 'NUCLEO-F767_LIFI_4CH_os2_v1.link_script.ld' does not exist.
      Must remake target 'NUCLEO-F767_LIFI_4CH_os2_v1.link_script.ld'.
      Successfully remade target file 'NUCLEO-F767_LIFI_4CH_os2_v1.link_script.ld'.
    Must remake target 'NUCLEO-F767_LIFI_4CH_os2_v1.elf'.
/usr/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/usr/bin/sh: -c: line 1: syntax error: unexpected end of file
make[1]: *** [c:/nobackup/workspace-mbed/NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi/Makefile:493: NUCLEO-F767_LIFI_4CH_os2_v1.elf] Error 1
make: *** [Makefile:26: all] Error 2

c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi
λ ls BUILD\
driverLifiRx.d  driverLifiTx.o      driverUserLed.d  lifiEmitter.o   lifiTranceiver.d  main.o                mbedOsUtils.d                               testOthers.d  testSerial.o
driverLifiRx.o  driverUserButton.d  driverUserLed.o  lifiReceiver.d  lifiTranceiver.o  mbed_memory_status.d  mbedOsUtils.o                               testOthers.o
driverLifiTx.d  driverUserButton.o  lifiEmitter.d    lifiReceiver.o  main.d            mbed_memory_status.o  NUCLEO-F767_LIFI_4CH_os2_v1.link_script.ld  testSerial.d

c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi

/////////
결국 make file 에서 실패..
15:36:20 **** Incremental Build of configuration Default for project lifi_os2_v1_eclipse ****
make all 
driverLifiRx.o driverLifiTx.o driverUserButton.o driverUserLed.o lifiEmitter.o lifiReceiver.o lifiTranceiver.o main.o mbedOsUtils.o mbed_memory_status.o testOthers.o testSerial.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/PeripheralPins.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/analogin_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/analogin_device.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/analogout_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/analogout_device.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/can_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/except.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/flash_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/gpio_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/gpio_irq_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/gpio_irq_device.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/hal_tick_overrides.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/i2c_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/lp_ticker.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/mbed_board.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/mbed_crc_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/mbed_fault_handler.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/mbed_overrides.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/mbed_retarget.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/mbed_sdk_boot.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/mbed_tz_context.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/pinmap.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/port_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/pwmout_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/pwmout_device.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/qspi_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/rtc_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/serial_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/serial_device.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/sleep.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/spi_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/startup_stm32f767xx.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_adc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_adc_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_can.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_can_legacy.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_cec.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_cortex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_crc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_crc_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_cryp.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_cryp_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_dac.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_dac_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_dcmi.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_dcmi_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_dfsdm.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_dma.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_dma2d.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_dma_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_dsi.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_eth.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_flash.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_flash_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_gpio.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_hash.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_hash_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_hcd.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_i2c.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_i2c_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_i2s.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_irda.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_iwdg.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_jpeg.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_lptim.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_ltdc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_ltdc_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_mdios.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_mmc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_nand.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_nor.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_pcd.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_pcd_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_pwr.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_pwr_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_qspi.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_rcc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_rcc_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_rng.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_rtc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_rtc_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_sai.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_sai_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_sd.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_sdram.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_smartcard.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_smartcard_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_smbus.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_spdifrx.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_spi.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_spi_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_sram.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_tim.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_tim_ex.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_uart.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_usart.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_hal_wwdg.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_adc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_crc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_dac.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_dma.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_dma2d.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_exti.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_fmc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_gpio.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_i2c.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_lptim.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_pwr.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_rcc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_rng.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_rtc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_sdmmc.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_spi.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_tim.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_usart.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_usb.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm32f7xx_ll_utils.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/stm_spi_api.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/system_clock.o ../mbed/TARGET_NUCLEO_F767ZI/TOOLCHAIN_GCC_ARM/system_stm32f7xx
/usr/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/usr/bin/sh: -c: line 1: syntax error: unexpected end of file
make[1]: *** [C:/nobackup/workspace-mbed/NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi/Makefile:494: NUCLEO-F767_LIFI_4CH_os2_v1.elf] Error 1
make: *** [Makefile:26: all] Error 2
"make all" terminated with exit code 2. Build might be incomplete.

/////////
그냥 eclipse에 mbed comile로 하자.
Building with Mbed CLI
    We build using Make, but you can also use Mbed CLI for building from Eclipse:
    
    Go to Project > Properties > C/C++ Build.
    Remove the check Use default build command.
    Set Build command to mbed.
    Under Behavior > Build (Incremental build), select your Mbed CLI build options. For example: compile -m K64F -t GCC_ARM --profile debug.
    Make sure to update the paths to the .elf file in your debug configuration.
    
    
    
/////////////
// eclipse gcc compiler 실수 
// command line 에서는 gnuarmeabi 가 패스로 잡혀있어서 문제 발생
///////////////
   
# 이 gcc 버전은 hex 파일 생성시 문제가 있따.

    NUCLEO-F767_LIFI_4CH_os2_v1.elf / driverLifiRx.o
    ------------------
    link: NUCLEO-F767_LIFI_4CH_os2_v1.elf
    c:/nobackup/dev_tool/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld.exe: warning: cannot find entry symbol Reset_Handler; defaulting to 08000000
        Successfully remade target file 'NUCLEO-F767_LIFI_4CH_os2_v1.elf'.
      Must remake target 'NUCLEO-F767_LIFI_4CH_os2_v1.bin'.
    arm-none-eabi-objcopy -O binary NUCLEO-F767_LIFI_4CH_os2_v1.elf NUCLEO-F767_LIFI_4CH_os2_v1.bin
    ===== bin file ready to flash: BUILD/NUCLEO-F767_LIFI_4CH_os2_v1.bin =====
      Successfully remade target file 'NUCLEO-F767_LIFI_4CH_os2_v1.bin'.
       File 'NUCLEO-F767_LIFI_4CH_os2_v1.hex' does not exist.
      Must remake target 'NUCLEO-F767_LIFI_4CH_os2_v1.hex'.
    arm-none-eabi-objcopy -O ihex NUCLEO-F767_LIFI_4CH_os2_v1.elf NUCLEO-F767_LIFI_4CH_os2_v1.hex
    arm-none-eabi-objcopy: NUCLEO-F767_LIFI_4CH_os2_v1.hex 64-bit address 0x4b4fa308000000 out of range for Intel Hex file
    arm-none-eabi-objcopy:NUCLEO-F767_LIFI_4CH_os2_v1.hex: bad value
    make[1]: *** [c:/nobackup/workspace-mbed/NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi/Makefile:516: NUCLEO-F767_LIFI_4CH_os2_v1.hex] Error 1
    make: *** [Makefile:26: all] Error 2

    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi
    λ arm-none-eabi-objcopy --version
    GNU objcopy (GNU Tools for Arm Embedded Processors 8-2018-q4-major) 2.31.51.20181213
    Copyright (C) 2018 Free Software Foundation, Inc.
    This program is free software; you may redistribute it under the terms of
    the GNU General Public License version 3 or (at your option) any later version.
    This program has absolutely no warranty.

    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi

xpm install --global @gnu-mcu-eclipse/arm-none-eabi-gcc@8.2.1-1.4.1

    λ xpm install --global @gnu-mcu-eclipse/arm-none-eabi-gcc@8.2.1-1.4.1
    xPack manager - install package(s)

    Processing @gnu-mcu-eclipse/arm-none-eabi-gcc@8.2.1-1.4.1...
    Installing globally in 'C:\nobackup\dev_tool\xPacks\@gnu-mcu-eclipse\arm-none-eabi-gcc\8.2.1-1.4.1'...
    { ZlibError: zlib: Cannot read property 'length' of null
        at Unzip.Zlib.(anonymous function) (C:\nobackup\dev_tool\npm\node_modules\xpm\node_modules\minizlib\index.js:126:21)
        at Unzip.write (C:\nobackup\dev_tool\npm\node_modules\xpm\node_modules\minizlib\index.js:247:21)
        at Unzip.flush (C:\nobackup\dev_tool\npm\node_modules\xpm\node_modules\minizlib\index.js:206:10)
        at Unzip.end (C:\nobackup\dev_tool\npm\node_modules\xpm\node_modules\minizlib\index.js:213:10)
        at Unpack.end (C:\nobackup\dev_tool\npm\node_modules\xpm\node_modules\tar\lib\parse.js:416:21)
        at PassThrough.onend (_stream_readable.js:598:10)
        at Object.onceWrapper (events.js:254:19)
        at PassThrough.emit (events.js:164:20)
        at endReadableNT (_stream_readable.js:1054:12)
        at _combinedTickCallback (internal/process/next_tick.js:138:11)
        at process._tickDomainCallback (internal/process/next_tick.js:218:9) errno: undefined, code: undefined }

    >>> New version 0.4.6 -> 0.5.0 available. <<<
    >>> Run 'npm install xpm --global' to update. <<<

    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi
    λ npm install xpm --global
    C:\nobackup\dev_tool\npm\xpm -> C:\nobackup\dev_tool\npm\node_modules\xpm\bin\xpm.js
    + xpm@0.5.0
    updated 12 packages in 10.859s


       ╭─────────────────────────────────────╮
       │                                     │
       │   Update available 5.6.0 → 6.9.0    │
       │       Run npm i npm to update       │
       │                                     │
       ╰─────────────────────────────────────╯


    c:\nobackup\workspace-mbed\NUCLEO-F767_LIFI_4CH_os2_v1_eclipse_gcc_arm_nucleo_f767zi
    λ npm config ls -l
    ; cli configs
    long = true
    metrics-registry = "https://registry.npmjs.org/"
    scope = ""
    user-agent = "npm/5.6.0 node/v9.2.0 win32 x64"

    ; userconfig C:\Users\jonpark\.npmrc
    cache = "C:\\nobackup\\dev_tool\\npm-cache"
    prefix = "C:\\nobackup\\dev_tool\\npm"
    tmp = "C:\\nobackup\\dev_tool\\npm-temp"
           