This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

please create a simple OpenMP project for TCI6630

Other Parts Discussed in Thread: MATHLIB, SYSBIOS

I have the following evaluation board:

TCIEVMK2LX

SOC: TCI6630

I plan to develop code with OpenMP library functions. I wonder if Texas Instrument or the community or support people can create some example projects regarding that.

Please do not refer me to some html pages or directions. None of them works out. Please attach some practical files to get this job done. Thank you

  • Can you please refer to the below TI wiki page ?
    processors.wiki.ti.com/.../Run_mcbu
    C:\ti\openmp_dsp_k2x_2_02_01_03\examples
  • Thank you Stalin for the reply however I started to create a new project exactly according to the instructions of the following link as you mentioned that before:

    downloads.ti.com/.../building_openmp_app.html
    and i copied hello.c and omp_config.cfg from the following path:
    /opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make/

    This path exists after the installation of the following package:
    ti-processor-sdk-rtos-k2l-evm-03.00.00.04-Linux-x86-Install_2.bin

    and my CCsv6.1.3. Now I try to build the project by CCSv6, please look at the errors:


    **** Build of configuration Debug for project project-accordingtohtmlpages ****

    /opt/ti/ccsv6/utils/bin/gmake -k all
    Building file: ../omp_config.cfg
    Invoking: XDCtools
    "/opt/ti/xdctools_3_32_00_06_core/xs" --xdcpath="/opt/ti/ctoolslib_2_2_0_0/packages;/opt/ti/dsplib_c66x_3_4_0_0/packages;/opt/ti/edma3_lld_2_12_01_24/packages;/opt/ti/framework_components_3_40_02_07/packages;/opt/ti/framework_components_3_40_02_07/examples;/opt/ti/imglib_c66x_3_1_1_0/packages;/opt/ti/ipc_3_43_01_03/packages;/opt/ti/mathlib_c66x_3_1_1_0/packages;/opt/ti/ndk_2_24_03_35/packages;/opt/ti/openmp_dsp_k2x_2_03_01_00/packages;/opt/ti/bios_6_45_01_29/packages;/opt/ti/uia_2_00_03_43/packages;/opt/ti/xdais_7_24_00_04/packages;/opt/ti/xdais_7_24_00_04/examples;/opt/ti/pdk_k2l_4_0_2/packages;/opt/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.platforms.evmTCI6630K2L -r release -c "/opt/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0" "../omp_config.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring omp_config.xe66 from package/cfg/omp_config_pe66.cfg ...
    subdir_rules.mk:14: recipe for target 'configPkg/linker.cmd' failed
    js: "/root/workspace_v6_1_3/project-accordingtohtmlpages/omp_config.cfg", line 127: TypeError: Cannot read property "base" from undefined (/root/workspace_v6_1_3/project-accordingtohtmlpages/omp_config.cfg#127)
    "./package/cfg/omp_config_pe66.cfg", line 188
    gmake: *** [package/cfg/omp_config_pe66.xdl] Error 1
    js: "/opt/ti/xdctools_3_32_00_06_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    gmake: *** [configPkg/linker.cmd] Error 1
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****

    According to the following link of Texas Instrument:
    downloads.ti.com/.../intro.html
    The section, "Devices Supported", 66AK2L is among the supported devices and my EVM is TCIEVMK2LX (SOC: TCI6630) and among the supported hardware.

    So if it is supported and you said i should follow the link, downloads.ti.com/.../building_openmp_app.html, Why there are some errors and why Texas software does not work for my EVM and TCI6630?!!
  • The link you mentioned is:
    processors.wiki.ti.com/.../Run_mcbu

    It is not a step by step guide in creating a new project but inside that, there is a link:
    processors.wiki.ti.com/.../OpenMP_on_C6000

    When you read it it says:
    As of April 2016, this article is out of date. Please visit here:

    means:
    downloads.ti.com/.../index.html

    and I referred to this link in my previous message!!
  • Hi ali,

    Refer to e2e.ti.com/.../1954995, it appears you have been able to locate the OpenMP (as well as OpenCL) examples provided in processor SDK 3.0.0.4 Linux release: example-applications/, and we can get the thread closed.

    Thanks,
    Garrett
  • Hello Garrett

    Thank you for the reply. I have not been able to compile an OpenMP program by CCSv6. There are no suitable cfg file for that....I will be appreciated if anybody can attach a cfg file for TCI6630

    Regards
  • Hi ali,

    Have you tried the omp_config.cfg file in ~/k2l/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make

    $ ls

    config.bld  hello.c  Makefile  omp_config_api.c  omp_config_bm.cfg  omp_config.cfg

    And instead of using deviceName.search, you can define OpenMP.numCores = 4 for TCI6630.

    Regards, Garrett

  • I will give that a try later. Thank you Garrett
  • cfg file you mentioned not working. I tried it before about 1 month ago. There are lots of errors compiling the code.
    it has been designed for these devices: DRA7XX, 6670, 6657. That is why I created this question.
    Why there is no suitable cfg file for TCI6630K2L?
  • The number of cores does not matter, please look at the following errors:
    Cannot read property "base" from undefined omp_config.cfg /newomp-project Configuration Validation XDCTools Configuration Marker
    Cannot read property "base" from undefined (/root/workspace_v6_1_3/newomp-project/omp_config.cfg#127) .xdchelp /newomp-project line 127 C/C++ Problem
    gmake: *** [configPkg/linker.cmd] Error 1 newomp-project C/C++ Problem
    gmake: *** [package/cfg/omp_config_pe66.xdl] Error 1 newomp-project C/C++ Problem
    gmake: Target 'all' not remade because of errors. newomp-project C/C++ Problem



    **** Build of configuration Debug for project newomp-project ****

    /opt/ti/ccsv6/utils/bin/gmake -k all
    Building file: ../printf_debug_main.cpp
    Invoking: ARM Compiler
    "/opt/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl" --code_state=32 -me --include_path="/opt/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include" -g --diag_wrap=off --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="printf_debug_main.d" --cmd_file="configPkg/compiler.opt" "../printf_debug_main.cpp"
    subdir_rules.mk:17: recipe for target 'printf_debug_main.obj' failed
    error #24015-D: bad argument to option -mv: should be one of {4,5e,6,6M0,7A8,7M3,7M4,7R4,7R5}
    gmake: *** [printf_debug_main.obj] Error 1
    error #24015-D: bad argument to option -mv: should be one of {4,5e,6,6M0,7A8,7M3,7M4,7R4,7R5}
    gmake: *** [printf_debug_target.obj] Error 1
    Building file: ../printf_debug_target.c
    Invoking: ARM Compiler
    "/opt/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl" --code_state=32 -me --include_path="/opt/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include" -g --diag_wrap=off --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="printf_debug_target.d" --cmd_file="configPkg/compiler.opt" "../printf_debug_target.c"
    subdir_rules.mk:24: recipe for target 'printf_debug_target.obj' failed
    Building file: ../omp_config.cfg
    Invoking: XDCtools
    "/opt/ti/xdctools_3_32_00_06_core/xs" --xdcpath="/opt/ti/ctoolslib_2_2_0_0/packages;/opt/ti/dsplib_c66x_3_4_0_0/packages;/opt/ti/edma3_lld_2_12_01_24/packages;/opt/ti/framework_components_3_40_02_07/packages;/opt/ti/framework_components_3_40_02_07/examples;/opt/ti/imglib_c66x_3_1_1_0/packages;/opt/ti/ipc_3_43_01_03/packages;/opt/ti/mathlib_c66x_3_1_1_0/packages;/opt/ti/ndk_2_24_03_35/packages;/opt/ti/openmp_dsp_k2x_2_03_01_00/packages;/opt/ti/bios_6_46_00_23/packages;/opt/ti/uia_2_00_03_43/packages;/opt/ti/xdais_7_24_00_04/packages;/opt/ti/xdais_7_24_00_04/examples;/opt/ti/pdk_k2l_4_0_2/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.platforms.evmTCI6630K2L -r debug -c "/opt/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS" "../omp_config.cfg"
    configuring omp_config.xe66 from package/cfg/omp_config_pe66.cfg ...
    subdir_rules.mk:7: recipe for target 'configPkg/linker.cmd' failed
    js: "/root/workspace_v6_1_3/newomp-project/omp_config.cfg", line 127: TypeError: Cannot read property "base" from undefined (/root/workspace_v6_1_3/newomp-project/omp_config.cfg#127)
    "./package/cfg/omp_config_pe66.cfg", line 188
    gmake: *** [package/cfg/omp_config_pe66.xdl] Error 1
    js: "/opt/ti/xdctools_3_32_00_06_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    gmake: *** [configPkg/linker.cmd] Error 1
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****
  • Hi,

    An example K2L platform file is missing from the openmp package in the SDK.  One will be added in the next SDK Release 3.1.  In the meantime, I've attached one.  untar/zip it into your $PSDK/openmp_dsp_k2x_02_03_02_00/packages/ti/runtime/openmp/platforms directory.

    evmk2l.tgz

    In addition, the examples need to be updated to support K2L.  Here is an updated examples directory.  Install it under $PSDK/openmp_dsp_k2x_02_03_02_00/packages.

    examples.tgz

    And one more file. Install this updated Makefile.inc in $PSDK/openmp_dsp_k2x_02_03_02_00/packages/utils/product/.

    Makefile.inc


    Finally, you are doing something wrong in your setup of the CCS build environment.  From the output above, the armcl compiler is being invoked.  You should be invoking the cl6x compiler.  Look at the direction here:

    Best Regards, Eric

  • Thank you for the detailed explanation. I added the files as you said and I created a new RTSC project and I only added hello.c and omp_config.cfg. But there is the same error I mentioned before. Please look at the following error I face when compiling:

    TypeError: Cannot read property "base" from undefined (/root/workspace_v6_1_3/hello-with-omp/omp_config.cfg#127)

    The main problem is not choosing the right compiler! It can not READ PROPERTY BASE!!!!
    It is because omp_config.cfg has not been written for TCI6630K2L. My first request was:

    "Please add a relevant cfg config file for TCI6630 and an example ready for use in ccsv6"


    **** Build of configuration Debug for project hello-with-omp ****

    /opt/ti/ccsv6/utils/bin/gmake -k all
    Building file: ../omp_config.cfg
    Invoking: XDCtools
    "/opt/ti/xdctools_3_32_00_06_core/xs" --xdcpath="/opt/ti/openmp_dsp_k2x_2_03_01_00/packages;/opt/ti/bios_6_45_01_29/packages;/opt/ti/pdk_k2l_4_0_2/packages;/opt/ti/ipc_3_43_01_03/packages;/opt/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.platforms.evmTCI6630K2L -r release -c "/opt/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0" "../omp_config.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring omp_config.xe66 from package/cfg/omp_config_pe66.cfg ...
    subdir_rules.mk:14: recipe for target 'configPkg/linker.cmd' failed
    js: "/root/workspace_v6_1_3/hello-with-omp/omp_config.cfg", line 127: TypeError: Cannot read property "base" from undefined (/root/workspace_v6_1_3/hello-with-omp/omp_config.cfg#127)
    "./package/cfg/omp_config_pe66.cfg", line 188
    gmake: *** [package/cfg/omp_config_pe66.xdl] Error 1
    js: "/opt/ti/xdctools_3_32_00_06_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    gmake: *** [configPkg/linker.cmd] Error 1
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****
  • Without CCS , compiling faces errors too:


    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# make
    making omp_config files
    /opt/ti/xdctools_3_32_00_06_core//xs --xdcpath "/packages;/opt/ti/openmp_dsp_k2x_2_03_01_00//packages;/opt/ti/bios_6_46_00_23//packages;/opt/ti/ipc_3_43_01_03//packages;." xdc.tools.configuro -c /opt/ti/ccsv6/tools/compiler/c6000_7.4.16/ --cb -t ti.targets.elf.C66 -p ti.runtime.openmp.platforms.evmk2l -r release omp_config.cfg
    making package.mak (because of config.bld) ...
    configuring omp_config.xe66 from package/cfg/omp_config_pe66.cfg ...
    js: "/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make/omp_config.cfg", line 89: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.csl' along the path: '/packages;/opt/ti/openmp_dsp_k2x_2_03_01_00/packages;/opt/ti/bios_6_46_00_23/packages;/opt/ti/ipc_3_43_01_03/packages;/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make;/opt/ti/xdctools_3_32_00_06_core/packages;..;'. Ensure that the package path is set correctly.
    "./package/cfg/omp_config_pe66.cfg", line 191
    gmake: *** [package/cfg/omp_config_pe66.xdl] Error 1
    Warning: directory "/packages" on package path does not exist
    js: "/opt/ti/xdctools_3_32_00_06_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    make: *** [libomp_config] Error 1


    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# echo $BUILD_TYPE
    debug
    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# echo $OMP_DIR
    /opt/ti/openmp_dsp_k2x_2_03_01_00/
    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# echo $PDK_DIR
    /opt/ti/pdk_k2l_4_0_2/
    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# echo $XDC_DIR
    /opt/ti/xdctools_3_32_00_06_core/
    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# echo $XDCCGROOT
    /opt/ti/ccsv6/tools/compiler/c6000_7.4.16/
    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# echo $BIOS_DIR
    /opt/ti/bios_6_46_00_23/
    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# echo $IPC_DIR
    /opt/ti/ipc_3_43_01_03/
    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# echo $OMP_TARGET

    root@am:/opt/ti/openmp_dsp_k2x_2_03_01_00/packages/examples/hello_with_make# echo $USE_BIOS
    1
  • Hi,


    The PDK, OMP, BIOS and PDK packages are required for building.  Looking at your output above, I don't see a path in the --xdcpath option to the PDK for k2l.  Check your project's properties and make sure you are including the k2l PDK in your RTSC configuration.  After you add the PDK (under Project ‣ Properties ‣ General ‣ RTSC) do a project clean and then rebuild. 


    I did encounter an error when it could not find the "omp.h" file.  You have to add an include path in the build to openmp_dsp_k2x_02_03_01_00/packages/ti/runtime/openmp.  And don't forget to enable the openmp option under advanced optimizations in the build optoins.

  • Try "make BUILD_K2L=1". Again I don't see the PDK path in the --xdcpath option. The first "/packages" should be the path to the PDK.
  • Dear EricStotzer

    Thank you very much for the reply. I did the changes you mentioned. There is an error when validating cfg file for K2L:

    Cannot read property "base" from undefined

    When the project is compiled(I added the path for omp.h):



    **** Build of configuration Release for project new6 ****

    /opt/ti/ccsv6/utils/bin/gmake -k all
    Building file: ../omp_config.cfg
    Invoking: XDCtools
    "/opt/ti/xdctools_3_32_00_06_core/xs" --xdcpath="/opt/ti/ctoolslib_2_2_0_0/packages;/opt/ti/dsplib_c66x_3_4_0_0/packages;/opt/ti/edma3_lld_2_12_01_24/packages;/opt/ti/framework_components_3_40_02_07/packages;/opt/ti/framework_components_3_40_02_07/examples;/opt/ti/imglib_c66x_3_1_1_0/packages;/opt/ti/ipc_3_43_01_03/packages;/opt/ti/mathlib_c66x_3_1_1_0/packages;/opt/ti/ndk_2_24_03_35/packages;/opt/ti/openmp_dsp_k2x_2_03_01_00/packages;/opt/ti/bios_6_46_00_23/packages;/opt/ti/uia_2_00_03_43/packages;/opt/ti/xdais_7_24_00_04/packages;/opt/ti/xdais_7_24_00_04/examples;/opt/ti/pdk_k2l_4_0_2/packages;/opt/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.platforms.evmTCI6630K2L -r release -b "/root/workspace_v6_1_3/new6/config.bld" -c "/opt/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0" "../omp_config.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring omp_config.xe66 from package/cfg/omp_config_pe66.cfg ...
    subdir_rules.mk:14: recipe for target 'configPkg/linker.cmd' failed
    js: "/root/workspace_v6_1_3/new6/omp_config.cfg", line 127: TypeError: Cannot read property "base" from undefined (/root/workspace_v6_1_3/new6/omp_config.cfg#127)
    "./package/cfg/omp_config_pe66.cfg", line 191
    gmake: *** [package/cfg/omp_config_pe66.xdl] Error 1
    js: "/opt/ti/xdctools_3_32_00_06_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    gmake: *** [configPkg/linker.cmd] Error 1
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****

    The project is a RTSC project with the following files i copied from hello_with_make openmp example:
    config.bld, omp_config.cfg, hello.c

    The compilation phase of hello.c has not reached(to look for omp.h) . It seems xdc reports an error about the cfg file:
    OpenMP.msmcNoCacheVirtualBase = msmcNcVirt.base;
    It complains about the base property
  • Hi,


    Use the evmk2l platform file that I posted above:  Here is the output of my build:

    **** Build of configuration Debug for project hello_world_k2l ****

    /home/eric/ti/ccsv6/utils/bin/gmake -k all
    Building file: ../omp_config.cfg
    Invoking: XDCtools
    "/cgnas/ti-processor-sdk-rtos-c667x-evm-02.00.02.11-release/xdctools_3_32_00_06_core/xs" --xdcpath="/cgnas/ti-processor-sdk-rtos-c667x-evm-02.00.02.11-release/bios_6_45_01_29/packages;/home/eric/ti-openmp-dsp-runtime/exports/openmp_dsp_k2x_02_03_02_00/packages;/cgnas/ti-processor-sdk-rtos-k2l-evm-03.00.00.04-release/ipc_3_43_01_03/packages;/cgnas/ti-processor-sdk-rtos-k2l-evm-03.00.00.04-release/pdk_k2l_4_0_2/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.runtime.openmp.platforms.evmk2l -r debug -c "/home/eric/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0" "../omp_config.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring omp_config.xe66 from package/cfg/omp_config_pe66.cfg ...
    Configuring OpenMP runtime for device: TMS320TCI6630K2L
    generating custom ti.sysbios library makefile ...
        Linking with library ti.drv.qmss:./lib/c66/ti.drv.qmss.ae66
        Linking with library ti.csl:./lib/k2l/c66/release/ti.csl.ae66
    Starting build of library sources ...
    making /home/eric/workspace_v6_1/hello_world_k2l/src/sysbios/sysbios.ae66 ...
    gmake[1]: Entering directory `/home/eric/workspace_v6_1/hello_world_k2l/src/sysbios'
    gmake[1]: Nothing to be done for `all'.
    gmake[1]: Leaving directory `/home/eric/workspace_v6_1/hello_world_k2l/src/sysbios'
    Build of libraries done.
    cle66 package/cfg/omp_config_pe66.c ...
    Finished building: ../omp_config.cfg
     
    Building file: ../hello.c
    Invoking: C6000 Compiler

  • Where I can choose evmk2l?

    I have installed the following packages:

    CCS6.1.3.00034_linux

    ti-processor-sdk-linux-k2l-evm-03.00.00.04-Linux-x86-Install_2

    ti-processor-sdk-rtos-k2l-evm-03.00.00.04-Linux-x86-Install_2

    No where I can see evmk2l platform?!!

  • Hi,

    In my response to you on Sep 1 (see above) I supplied an evmk2l platform directory and asked you to install it in the openmp package in the rtos-k2l directory.  That is the evmk2l platform that you should use.

    Here I'm assuming that PSDK_RTOS is set to the place where you have installed the ti-processor-sdk-rtos-k2l-evm-03.00.00.04

    The following path should be in your --xdcpath: $PSDK-RTOS/openmp_dsp_k2x_02_03_01_00/packages.

    You should have installed the evmk2l platform directory in $PSDK-RTOS/openmp_dsp_k2x_02_03_01_00/packages/ti/runtime/openmp/platforms.

    And you should have the -p ti.runtime.openmp.platforms.evmk2l xdc option.  Note that the platform name is related to the directory path under which it is installed. 

    Eric

  • I appreciate much Mr. Stotzer. The compile process was done successfully without errors by your instructions. great!
    The only thing is that 'evmk2l' can not be chosen graphically by CCS, it needs to be set by hand for -p option and xs
  • Hi Hagigat and Eric
    i have the same problems, and i cannot undestand the solution clearly.
    from the XDCtools ->Package Repositorries i have added:
    /home/ubuntu/ti/openmp_dsp_k2x_2_06_00_00/packages
    and i connot change -p from XDCtools ->Basic Options
    it stands like this; ti.platforms.evm.TCI6630K2L i cannot move or change it manually
    could you say explain to me
    ThX
    regards