Code Monkey home page Code Monkey logo

vs-code-stm32-ide's People

Contributors

palinek avatar poshcoe avatar schperplata avatar spot1000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vs-code-stm32-ide's Issues

osx support

many thanks for nice projects, works fine on OSX besides few changes:
in utilities.py add
if platform.system() == "Darwin":
osIs = "osx"
return osIs

.....
osIs = detectOs()
if osIs == "windows":
vsCodeSettingsFolderPath = tmpStr.defaultVsCodeSettingsFolder_WIN
elif osIs == "unix":
vsCodeSettingsFolderPath = tmpStr.defaultVsCodeSettingsFolder_UNIX
elif osIs == "osx":
vsCodeSettingsFolderPath = tmpStr.defaultVsCodeSettingsFolder_OSX
....
if osIs == "unix" or osIs == "wsl" or osIs=="osx": # detected unix based system
pythonExec = "python3"

in templateStrings.py:
defaultVsCodeSettingsFolder_OSX = os.path.expandvars("$HOME/Library/Application Support/Code/User/")

and in updateTasks.py
elif osIs == "osx":
openCubeCommand = "/Applications/STMicroelectronics/STM32CubeMX.app/Contents/MacOs/STM32CubeMX"

Problem working with importKeilProject.py

Hi, first of all, thank you very much for so nice project.
I trying to import a Keil Project into VS Code, using importKeilProject.py.
When it is calling to CubeMX, shows this error:
"CubeMx returned non-zero exit code. Something went wrong: Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'\r\nError: could not find java.dll........
So, I use same parameters that importKeilProject.py is using to call CubeMX, directly from command line, and the Makefile template is created without any problems.
So my question is, why inside VS Code, importKeilProject did not found java?
Am I doing something wrong?
Sorry I'm newbie trying to learn. Thank you again for your time and support
VS Code version: 1.34.0
Java version: 1.8.0_201
Python version: 3.7.3
CubeMX version: 5.1.0
Windows 7 Ultimate service pack 1

New location of .SVD and .cfg files

Hi, I notice you now copy .SVD and board .cfg files to the .vscode folder. Is there a specific reason for that? I used the previous versions of your scripts (before you copy these files) very successfully, and found it cleaner to reference these files in their proper location.

If the .cfg file is updated, which one do we need to update, and will the update.py file re-copy the updated file?

IndexError: list index out of range

Hello! I ran into an issue when following your guide. Full disclosure, I used an existing project that had a file that is kept in the debug folder rather than the root folder (as your update file expected). My solution was to move the makefile to the root directory (which could cause issues with the links if it's looking for paths relative to another folder).

What's the best way to handle this? Do I need to adjust the makefile to make all the paths relative to the root folder? Is there a way to have STM32CubeIde output a makefile in the root directory from an existing project? Is there a way to change an ideScript file to change where it's looking for the makefile? And if so, would it be possible to have the script file ask the location of the makefile?

Below is the output I received:

C:\STM32 projects\TESTPROJECT\TESTPROJECT>C:/Users/jaybee/.platformio/python37/python.exe "c:/STM32 projects/TESTPROJECT/TESTPROJECT/ideScripts/update.py"
Update started.

Existing '.vscode' folder used.
One STM32CubeMX file found: TESTPROJECT.ioc
Existing 'Makefile' file will be restored from 'Makefile.backup'.
Copy of file (new name: Makefile): c:/STM32 projects/TESTPROJECT/TESTPROJECT/Makefile.backup
Makefile 'print-variable' function added.
Valid 'buildData.json' file found.

        Default path to 'arm-none-eabi-gcc executable (arm-none-eabi-gcc.exe)' detected at 'C:\Program Files (x86)\GNU Arm Embedded Toolchain\9 2020-q2-update\bin\arm-none-eabi-gcc.EXE'
        Use this path? [y/n]: n

        Enter path or command for 'arm-none-eabi-gcc executable (arm-none-eabi-gcc.exe)':
        Paste here and press Enter: C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\ARM Embedded GCC\bin\arm-none-eabi-gcc.exe

        Default path to 'make executable (make.exe)' detected at 'C:\MinGW\bin\make.EXE'
        Use this path? [y/n]: C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin\"C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin\make.exe

        Default path to 'make executable (make.exe)' detected at 'C:\MinGW\bin\make.EXE'
        Use this path? [y/n]: n

        Enter path or command for 'make executable (make.exe)':
        Paste here and press Enter: C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin\"C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin\make.exe
        Path/command not valid:  C:/Users/jaybee/AppData/Roaming/GNU MCU Eclipse/Build Tools/2.12-20190422-1053/bin/C:/Users/jaybee/AppData/Roaming/GNU MCU Eclipse/Build Tools/2.12-20190422-1053/bin/make.exe

        Enter path or command for 'make executable (make.exe)':
        Paste here and press Enter: C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin\"C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin\make.exe
        Path/command not valid:  C:/Users/jaybee/AppData/Roaming/GNU MCU Eclipse/Build Tools/2.12-20190422-1053/bin/C:/Users/jaybee/AppData/Roaming/GNU MCU Eclipse/Build Tools/2.12-20190422-1053/bin/make.exe

        Enter path or command for 'make executable (make.exe)':
        Paste here and press Enter: C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin\make.exe

        Enter path or command for 'OpenOCD executable (openocd.exe)':
        Paste here and press Enter: C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\OpenOCD\0.10.0-12-20190422-2015\bin\openocd.exe

        Enter path or command for 'OpenOCD ST Link interface path ('stlink.cfg')':
        Paste here and press Enter: C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\OpenOCD\0.10.0-12-20190422-2015\scripts\target\stm32w108_stlink.cfg

        Python version 3 or later installation not detected, please install or enter custom path/command below.

        Enter path or command for 'python':
        Paste here and press Enter: C:\Users\jaybee\AppData\Local\Programs\Python\Python38-32\python.exe
'toolsPaths.json' file updated!

        Enter path(s) to OpenOCD configuration file(s):
                Example: 'target/stm32f0x.cfg'. Absolute or relative to OpenOCD /scripts/ folder.
                If more than one file is needed, separate with comma.
                Paste here and press Enter: C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\OpenOCD\0.10.0-12-20190422-2015\scripts\target\stm32w108xx.cfg

        Enter path or command for 'stm32SvdPath':
        Paste here and press Enter: C:\Users\jaybee\AppData\Roaming\GNU MCU Eclipse\Keil.STM32WBxx_DFP.1.1.0\CMSIS\SVD\STM32WB55_CM4.svd

ERROR (634 seconds).
Unexpected error occured during 'Update' procedure. Exception:
Traceback (most recent call last):
  File "c:/STM32 projects/TESTPROJECT/TESTPROJECT/ideScripts/update.py", line 56, in <module>
    makefileData = makefile.getMakefileData(makeExePath, gccExePath)
  File "c:\STM32 projects\TESTPROJECT\TESTPROJECT\ideScripts\updateMakefile.py", line 109, in getMakefileData
    projectName = self.getMakefileVariable(makeExePath, gccExePath, self.mkfStr.projectName)[0]
IndexError: list index out of range


C:\STM32 projects\TESTPROJECT\TESTPROJECT>

Thanks!

Install on Mac OS

Hi,

I've tried all the mix and match I could think about with windows and Linux instructions but was not able to make it work with vscode on Mac OS :-( Can anyone help me ?

not working for me

After instaling prereqs, I find the "First Steps" somewhat too sparse to follow. No clear
"Create CubeMX project and select 'Makefile' as output file" method.

I opted to open the example. When i ran the update.py I got several error similar to "Unable to find path to openOCD stlink.cfg configuration file on path:
C:/Users/Admin/AppData/Roaming/GNU MCU Eclipse/OpenOCD/interface/stlink.cfg" where the scrips was looking for a file in a directory unlike the one I had entered to the earlier quiries.

After fixing these problems by cutting and pasting the appropriate files in what appear to be the non-standard directory locations, the script got past the "Tools paths updated." But went on to throw this error
/////
Traceback (most recent call last):
File "d:/Downloads/VS-Code-STM32-IDE-master/example/ideScripts/update.py", line 50, in
makefileData = makefile.getMakefileData(makeExePath, gccExePath)
File "d:\Downloads\VS-Code-STM32-IDE-master\example\ideScripts\updateMakefile.py", line 86, in getMakefileData
projectName = self.getMakefileVariable(makeExePath, gccExePath, self.mkfStr.projectName)[0]
File "d:\Downloads\VS-Code-STM32-IDE-master\example\ideScripts\updateMakefile.py", line 296, in getMakefileVariable
proc = Popen(arguments, stdout=PIPE)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 709, in init
restore_signals, start_new_session)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 997, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied
//////

Is there a solution to this problem?

Thanks, I'm sure a lot of work went into this, but its not working for me.
Jeff

Invalid path detected in 'buildData.json' 'stm32SvdPath' key

Getting error:

Invalid path detected in 'buildData.json' 'stm32SvdPath' key

I need to re-enter Svd path every time I run update.py. The script copies the svd file to .vscode and adds the path local path to buildData.json. Changing the path in buildData.json to the initial absolute path doesn't work.

On Archlinux

Building issue

Hi. I encountered a problem during building the code. It's seems, I am not able to lounch the "make.exe". Probably there is something missing in json.files, but I can't find the reason (everything look fine).

I was able to run "make.exe" from cmd but, i don't know how to move forward with VS.
I'll be really grateful for receiving an advice.

Executing task in folder p0_starter: """C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/Build Tools/2.12-20190422-1053/bin/make.exe" "GCC_PATH=C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/ARM Embedded GCC/armgcc/bin" -j6"" <

'""C:' is not recognized as an internal or external command,
operable program or batch file.
The terminal process command 'C:\Windows\system32\cmd.exe /d /c """C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/Build Tools/2.12-20190422-1053/bin/make.exe" "GCC_PATH=C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/ARM Embedded GCC/armgcc/bin" -j6""' failed to launch (exit code: 1)

Terminal will be reused by tasks, press any key to close it.
{
    "env": {
        "____________________USER_FIELDS_CAN_BE_MODIFIED____________________": "",
        "user_cSources": [],
        "user_asmSources": [],
        "user_ldSources": [],
        "user_cIncludes": [],
        "user_asmIncludes": [],
        "user_ldIncludes": [],
        "user_cDefines": [],
        "user_asmDefines": [],
        "user_cFlags": [],
        "user_asmFlags": [],
        "user_ldFlags": [],
        "____________________DO_NOT_MODIFY_FIELDS_BELOW____________________": "",
        "cubemx_sourceFiles": [
            "Src/main.c",
            "Src/stm32f1xx_it.c",
            "Src/stm32f1xx_hal_msp.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c",
            "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c",
            "Src/system_stm32f1xx.c",
            "startup_stm32f103xb.s"
        ],
        "cubemx_includes": [
            "Inc",
            "Drivers/STM32F1xx_HAL_Driver/Inc",
            "Drivers/STM32F1xx_HAL_Driver/Inc/Legacy",
            "Drivers/CMSIS/Device/ST/STM32F1xx/Include",
            "Drivers/CMSIS/Include",
            "Drivers/CMSIS/Include"
        ],
        "cubemx_defines": [
            "USE_HAL_DRIVER",
            "STM32F103xB",
            "USE_HAL_DRIVER",
            "STM32F103xB"
        ],
        "gccExePath": "C:\\Users\\Piotr\\AppData\\Roaming\\GNU MCU Eclipse\\ARM Embedded GCC\\armgcc\\bin\\arm-none-eabi-gcc.EXE",
        "gccIncludePath": "C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/ARM Embedded GCC/armgcc/lib/gcc/arm-none-eabi/8.3.1/include"
    },
    "configurations": [
        {
            "name": "p0_starter_workspace",
            "intelliSenseMode": "msvc-x64",
            "includePath": [
                "${workspaceFolder}",
                "${cubemx_includes}",
                "${gccIncludePath}",
                "${user_cIncludes}",
                "${user_asmIncludes}",
                "${user_ldIncludes}"
            ],
            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "${cubemx_includes}",
                    "${gccIncludePath}",
                    "${user_cIncludes}",
                    "${user_asmIncludes}",
                    "${user_ldIncludes}"
                ],
                "limitSymbolsToIncludedHeaders": true
            },
            "defines": [
                "${cubemx_defines}",
                "${user_cDefines}",
                "${user_asmDefines}"
            ],
            "forcedInclude": [],
            "compilerPath": "${gccExePath}",
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

{
    "ABOUT1": "This file holds combined user and CubeMX generated Makefile workspace dependecies.",
    "ABOUT2": "User should not edit this fields, instead it should edit 'c_cpp_properties.json'",
    "ABOUT3": "This file is regenerated on 'Update workspace' task.",
    "VERSION": "1.7",
    "LAST_RUN": "2019-07-18 15:42:57.331595",
    "cSources": [
        "Src/main.c",
        "Src/stm32f1xx_it.c",
        "Src/stm32f1xx_hal_msp.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c",
        "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c",
        "Src/system_stm32f1xx.c"
    ],
    "asmSources": [],
    "ldSources": [
        "-lc",
        "-lm",
        "-lnosys"
    ],
    "cIncludes": [
        "Inc",
        "Drivers/STM32F1xx_HAL_Driver/Inc",
        "Drivers/STM32F1xx_HAL_Driver/Inc/Legacy",
        "Drivers/CMSIS/Device/ST/STM32F1xx/Include",
        "Drivers/CMSIS/Include",
        "Drivers/CMSIS/Include"
    ],
    "asmIncludes": [],
    "ldIncludes": [],
    "cDefines": [
        "USE_HAL_DRIVER",
        "STM32F103xB",
        "USE_HAL_DRIVER",
        "STM32F103xB"
    ],
    "asmDefines": [],
    "cFlags": [
        "-mcpu=cortex-m3",
        "-mthumb",
        "-DUSE_HAL_DRIVER",
        "-DSTM32F103xB",
        "-DUSE_HAL_DRIVER",
        "-DSTM32F103xB",
        "-IInc",
        "-IDrivers/STM32F1xx_HAL_Driver/Inc",
        "-IDrivers/STM32F1xx_HAL_Driver/Inc/Legacy",
        "-IDrivers/CMSIS/Device/ST/STM32F1xx/Include",
        "-IDrivers/CMSIS/Include",
        "-IDrivers/CMSIS/Include",
        "-Og",
        "-Wall",
        "-fdata-sections",
        "-ffunction-sections",
        "-g",
        "-gdwarf-2",
        "-MMD",
        "-MP",
        "-MF"
    ],
    "asmFlags": [
        "-mcpu=cortex-m3",
        "-mthumb",
        "-Og",
        "-Wall",
        "-fdata-sections",
        "-ffunction-sections"
    ],
    "ldFlags": [
        "-mcpu=cortex-m3",
        "-mthumb",
        "-specs=nano.specs",
        "-TSTM32F103RBTx_FLASH.ld",
        "-lc",
        "-lm",
        "-lnosys",
        "-Wl,-Map=build/p0_starter.map,--cref",
        "-Wl,--gc-sections"
    ],
    "buildDir": "build",
    "targetExecutablePath": "build/p0_starter.elf",
    "cubeMxProjectPath": "p0_starter.ioc",
    "openOcdConfig": [
        ".vscode/stm32f1x.cfg"
    ],
    "stm32SvdPath": ".vscode/STM32F103xx.svd",
    "ABOUT4": "---- Paths below are fetched from user-specific 'toolsPaths.json'. ----",
    "gccExePath": "C:\\Users\\Piotr\\AppData\\Roaming\\GNU MCU Eclipse\\ARM Embedded GCC\\armgcc\\bin\\arm-none-eabi-gcc.EXE",
    "gccInludePath": "C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/ARM Embedded GCC/armgcc/lib/gcc/arm-none-eabi/8.3.1/include",
    "buildToolsPath": "C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/Build Tools/2.12-20190422-1053/bin/make.exe",
    "pythonExec": "python",
    "openOcdPath": "C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/OpenOCD/0.10.0-12-20190422-2015/bin/openocd.exe",
    "openOcdInterfacePath": "C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/OpenOCD/0.10.0-12-20190422-2015/scripts/target/stm32f1x_stlink.cfg"
}

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Cortex debug",
            "type": "cortex-debug",
            "request": "launch",
            "servertype": "openocd",
            "cwd": "${workspaceFolder}",
            "executable": "build/p0_starter.elf",
            "svdFile": ".vscode/STM32F103xx.svd",
            "configFiles": [
                "C:/Users/Piotr/AppData/Roaming/GNU MCU Eclipse/OpenOCD/0.10.0-12-20190422-2015/scripts/target/stm32f1x_stlink.cfg",
                ".vscode/stm32f1x.cfg"
            ],
            "preLaunchTask": "Build project"
        },
        {
            "name": "Debug current Python file",
            "type": "python",
            "request": "launch",
            "cwd": "${workspaceFolder}",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

1
2

Error during update.py

ERROR (77 seconds).
Unexpected error occured during 'Update' procedure. Exception:
[WinError 5] Access denied

Any idea?

Cortex Peripherals and Registers Pane wont open while debugging

I cant figure out if there is a bug with cortex-debug extension or there is something wrong with the configurations.
here is what is working

  • enters debugging
  • can add breakpoints
  • can add watch variables

what is not working

  • cortex peripheral pane wont open
  • cortex registers pane wont open

I tried checking the svd file with Keil and the debugging works fine there using the same SVD file,
here is the launch.json file

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Cortex debug",
            "type": "cortex-debug",
            "request": "launch",
            "servertype": "openocd",
            "cwd": "${workspaceFolder}",
            "executable": "E:/temp/ARM/NUCLEO-F446/vsCodeTest/build/vsCodeTest.elf",
            "svdFile": "C:/Keil_v5/ARM/PACK/Keil/STM32F4xx_DFP/2.13.0/CMSIS/SVD/STM32F446x.svd",
            "configFiles": [
                "D:/STMicroelectronics/GNU-MCU-Eclipse/OpenOCD/0.10.0-10-20181020-0522/scripts/interface/stlink.cfg",
                "D:/STMicroelectronics/GNU-MCU-Eclipse/OpenOCD/0.10.0-10-20181020-0522/scripts/target/stm32f4x.cfg"
            ]
        },
        {
            "name": "Debug current Python file",
            "type": "python",
            "request": "launch",
            "cwd": "${workspaceFolder}",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

screenshot of peripheral and register panes wont open

PermissionError: [WinError 5] Access is denied

Not an expert here. Keep getting windows permision error. Tried to run from a cmd shell in admin mode with no luck....

Eddy@DESKTOP-TIO8A3R MINGW32 /c/Users/Eddy/Dropbox/STM32CubeIDE/workspace_1.1.0/TrySTMVsCode
$ "C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python36_64/python.exe" c:/Users/Eddy/Dropbox/STM32CubeIDE/workspace_1.1.0/TrySTMVsCode/ideScripts/update.py
Update started.

Existing '.vscode' folder used.
One STM32CubeMX file found: Laps_v1.ioc
Existing 'Makefile' file will be restored from 'Makefile.backup'.
Copy of file (new name: Makefile): c:/Users/Eddy/Dropbox/STM32CubeIDE/workspace_1.1.0/TrySTMVsCode/Makefile.backup
Makefile 'print-variable' function added.
Valid 'buildData.json' file found.
Valid 'toolsPaths.json' file found.
'toolsPaths.json' file updated!

ERROR (0 seconds).
Unexpected error occured during 'Update' procedure. Exception:
Traceback (most recent call last):
File "c:/Users/Eddy/Dropbox/STM32CubeIDE/workspace_1.1.0/TrySTMVsCode/ideScripts/update.py", line 56, in
makefileData = makefile.getMakefileData(makeExePath, gccExePath)
File "c:\Users\Eddy\Dropbox\STM32CubeIDE\workspace_1.1.0\TrySTMVsCode\ideScripts\updateMakefile.py", line 109, in getMakefileData
projectName = self.getMakefileVariable(makeExePath, gccExePath, self.mkfStr.projectName)[0]
File "c:\Users\Eddy\Dropbox\STM32CubeIDE\workspace_1.1.0\TrySTMVsCode\ideScripts\updateMakefile.py", line 382, in getMakefileVariable
proc = Popen(arguments, stdout=PIPE)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\subprocess.py", line 709, in init
restore_signals, start_new_session)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\subprocess.py", line 997, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied

Update.py Run Error

Hi
In Update.py Run i got this error

ERROR (8 seconds).
Unexpected error occured during 'Update' procedure. Exception:
Traceback (most recent call last):
File "d:/STM32/VSCode_STM32_IDE/STM32CubeMx_WS/STM32_Test/ideScripts/update.py", line 56, in
makefileData = makefile.getMakefileData(makeExePath, gccExePath)
File "d:\STM32\VSCode_STM32_IDE\STM32CubeMx_WS\STM32_Test\ideScripts\updateMakefile.py", line 93, in getMakefileData
projectName = self.getMakefileVariable(makeExePath, gccExePath, self.mkfStr.projectName)[0]
File "d:\STM32\VSCode_STM32_IDE\STM32CubeMx_WS\STM32_Test\ideScripts\updateMakefile.py", line 366, in getMakefileVariable
proc = Popen(arguments, stdout=PIPE)
File "C:\Users\kumar\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 854, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\kumar\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
PermissionError: [WinError 5] Access is denied

#FeatureRequest Support for several contributors

Are you planning to add support for several contributors?
At the moment, paths to additional sources (.c / .h) are kept in one json along with individual paths to user devtools.
This makes it impossible to work together on the code. The next commits would overwrite the paths to devtools.
In theory, a separate json file with paths to the sources would be sufficient.
Despite it all - huge thanks for a great tool!

Problem with access (seemingly) when executing update.py

First, thanks for coming up with this amazing solution. I have installed everything as required(although I had to modify some of the structures of the tool folders etc). I can run update.py and provide the paths to the requested directories. I have placed these directories in the recommended location "c:/users/user/app_data/roaming/GNU*Eclipse" In this directory, I have all other folders in the instructions. One thing I noticed is that when I open the folder in vsc, it does not do that as a workspace, I have to save it as one in order for the .workspace file to be created which is required by the script. Anyways, I get to the point where I specify the STM32.cfg file and after that, I need to specify the svd file to use. I do that and I get errors seemingly having to do with permissions. Before I did anything to change the permissions on my machine, I wanted to be sure that it has nothing to do with the location chosen for the files. The output of update.py is as follows:

"Update started.

Existing '.vscode' folder used.
One STM32CubeMX file found: L476VSCTest.ioc
Existing 'Makefile' file found (restored from '.backup').
Copy of file (new name: Makefile): d:/Development/STM32/cubemxprojects/L476VSCTest/Makefile.backup
Makefile 'print-variable' function added.
Valid 'buildData.json' file found.
Valid 'toolsPaths.json' file found.
'toolsPaths.json' file updated!

    Enter path(s) to OpenOCD configuration file(s):
            Example: 'target/stm32f0x.cfg'. Absolute or relative to OpenOCD /scripts/ folder.

Traceback (most recent call last):
File "d:/Development/STM32/cubemxprojects/L476VSCTest/ideScripts/update.py", line 56,
in
makefileData = makefile.getMakefileData(makeExePath, gccExePath)
File "d:\Development\STM32\cubemxprojects\L476VSCTest\ideScripts\updateMakefile.py", line 93, in getMakefileData
projectName = self.getMakefileVariable(makeExePath, gccExePath, self.mkfStr.projectName)[0]
File "d:\Development\STM32\cubemxprojects\L476VSCTest\ideScripts\updateMakefile.py", line 366, in getMakefileVariable
proc = Popen(arguments, stdout=PIPE)
File "C:\Users\omis2\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 854, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\omis2\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
PermissionError: [WinError 5] Access is denied"

Any help is appreciated. By the way, the machine is a Windows 10 Pro machine.

KeyError: 'settings'

Traceback (most recent call last):
File "ideScripts/update.py", line 88, in
wksData = wksFile.addBuildDataToWorkspaceFile(wksData, buildData)
File "***\ideScripts\updateWorkspaceFile.py", line 64, in addBuildDataToWorkspaceFile
workspaceData["settings"]["cortex-debug.armToolchainPath"] = armToolchainPah
KeyError: 'settings'

The reason was that in my .code-workspace, there was no "settings" at the beginning. I fixed it by creating a "settings" in my .code-workspace. It would be nice if it can be fixed from python scripts.

BTW: Thanks very much for providing this useful extension.

Build task : Error 1

Hello.
After run Build Task I see it in Terminal:
make: *** [Makefile:155: build/main.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:155: build/stm32f1xx_it.o] Error 1
The terminal process terminated with exit code: 1

What is that mean? Problem in my code?
How I can see any information about error path (line of code, like in CooCox IDE, or other)

Make file missing seprator

I'm trying to convert a keil project to vscode using the script. after running the importKeilProject.py I'm trying to run the update script but I'm running into an error

Update started.

Existing '.vscode' folder used.
One STM32CubeMX file found: Main-boot.ioc
Existing 'Makefile' file will be restored from 'Makefile.backup'.
Copy of file (new name: Makefile): c:/Users/Noam.Yulzari/Documents/migrationTest/Main-Boot/Makefile.backup
Makefile 'print-variable' function added.
Valid 'buildData.json' file found.
Valid 'toolsPaths.json' file found.
'toolsPaths.json' file updated!
makefile:80: *** missing separator. Stop.

ERROR (0 seconds).
Unexpected error occured during 'Update' procedure. Exception:
Traceback (most recent call last):
File "c:/Users/Noam.Yulzari/Documents/migrationTest/Main-Boot/ideScripts/update.py", line 56, in
makefileData = makefile.getMakefileData(makeExePath, gccExePath)
File "c:\Users\Noam.Yulzari\Documents\migrationTest\Main-Boot\ideScripts\updateMakefile.py", line 109, in getMakefileData
projectName = self.getMakefileVariable(makeExePath, gccExePath, self.mkfStr.projectName)[0]
IndexError: list index out of range

I went to line 79 in the makefile and saw that '' is missing.

../SharedModules/Src/CommonFunctions.c
Boot/Src/Fonts.c
Src/main.c\

also, the file in this line appears twice (again in line 120). When I'm trying to edit to the makefile to fix these issues when running the update script again the makefile returned to the initial state.

Failed in getGccIncludePath

When I run the update.py, it failed to get the file path of "stdint.h" in getGccIncludePath.

It was fixed by changing

gccExeFolderPath = os.path.dirname(gccExePath)
gccFolderPath = os.path.dirname(gccExeFolderPath)
searchPath = os.path.join(gccFolderPath, "lib", "gcc", "arm-none-eabi")

to

gccFolderPath = os.path.dirname(gccExePath)
searchPath = os.path.join(gccFolderPath, "lib", "gcc", "arm-none-eabi")

Maybe my folder structure is different? My bin and lib are in the same folder.

#FeatureRequest Add support for User defined libraries in c_cpp_properties.json

Firstly, a BIG THANK YOU, for amazing utility. I've used it for my personal project (ex SW4STM project, generated by STM32CubeMX). I'm soooo happy to no longer be locked into Eclipse. Thanks.

My request is this:

Similar to user_cSources, user_cIncludes, etc. It would be great if you could add a user_ldLibs or similar, so that the final build of the .elf file can link in user defined .o files.

Failed to call make.exe

When I run the update.py, it failed

Traceback (most recent call last):
File "ideScripts/update.py", line 48, in
makefileData = makefile.getMakefileData(makeExePath, gccExePath)
File "\ideScripts\up dateMakefile.py", line 89, in getMakefileData
makeExePath, gccExePath, self.mkfStr.projectName)[0]
File "
\ideScripts\up dateMakefile.py", line 361, in getMakefileVariable
proc = Popen(arguments, stdout=PIPE)
File "\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 775, in init
restore_signals, start_new_session)
File "
\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied

My quick fix was to add the file name make.exe to the getMakefileVariable funtion in updateMakefile.py

arguments = [makeExePath + "/make.exe", gccPath, printStatement]

I am not sure whether it was a correct fix for the problem that I had.

tasks cannot run with cmd.exe

My default terminal is using cmd.
I use cmd to run the tasks and get this.

'""C:' is not recognized as an internal or external command,
operable program or batch file.
The terminal process terminated with exit code: 1

I add an options in the in the tasks.json to make it run with powershell and it work perfectly.

        {
            "label": "Build project",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "type": "shell",
            "command": "C:/Users/bobby/AppData/Roaming/GNU MCU Eclipse/Build Tools/2.11-20180428-1604/bin/make.exe",
            "args": [
                "GCC_PATH=C:/Users/bobby/AppData/Roaming/GNU MCU Eclipse/ARM Embedded GCC/8.2.1-1.1-20190102-1122/bin",
                "-j6"
            ],
            "problemMatcher": {
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "presentation": {
                "focus": true
            },
            "options": {
                "shell": {
                    "executable": "powershell.exe"
                }
            }
        },

texane/stlink support

I'm using texane/stlink in osx.
Correctly osx is not on os type.
add this after that.

Edit:
Modifying includePath from makefile
and adding uC type define is enough.
like this:
"defines": [ "STM32F407xx 1" ],
(flashing .BIN file can be done separately)

TypeError: expected str, bytes or os.PathLike object, not NoneType

When I execute update.py script, the following errors appear:
Traceback (most recent call last): File "ideScripts/update.py", line 43, in <module> buildData = bData.prepareBuildData() File "/home/dziura/STMProjects/IDETEST/ide/ideScripts/updateBuildData.py", line 87, in prepareBuildData buildData = paths.verifyExistingPaths(buildData) File "/home/dziura/STMProjects/IDETEST/ide/ideScripts/updatePaths.py", line 102, in verifyExistingPaths buildData[self.bStr.gccInludePath] = utils.getGccIncludePath(buildData[self.bStr.gccExePath]) File "/home/dziura/STMProjects/IDETEST/ide/ideScripts/utilities.py", line 395, in getGccIncludePath folderPath = os.path.dirname(filePath) File "/usr/lib/python3.6/posixpath.py", line 156, in dirname p = os.fspath(p) TypeError: expected str, bytes or os.PathLike object, not NoneType
Any ideas?

Error while building project - no such file or directory

Hi
while building the project I get the following error in the terminal:

Executing task in folder vsCodeTest: & 'D:/STMicroelectronics/GNU MCU Eclipse/Build Tools/2.11-20180428-1604/bin/make.exe' 'GCC_PATH=D:/GNU Tools Arm Embedded/7 2018-q2-update/bin' <

D:/GNU Tools Arm Embedded/7 2018-q2-update/bin/arm-none-eabi-gcc -c -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -DAVOID_EMPTY_DEFINE_FIELD_C -DUSE_HAL_DRIVER -DSTM32F446xx -IInc -IDrivers/STM32F4xx_HAL_Driver/Inc -IDrivers/STM32F4xx_HAL_Driver/Inc/Legacy -IDrivers/CMSIS/Device/ST/STM32F4xx/Include -IDrivers/CMSIS/Include -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/main.d" -Wa,-a,-ad,-alms=build/main.lst Src/main.c -o build/main.o
/usr/bin/sh: D:/GNU: No such file or directory
make: *** [Makefile:156: build/main.o] Error 127
The terminal process terminated with exit code: 1

this output is from powershell terminal, changing the terminal to MSYS bash gives the same error,
it seems there is a bug in parsing addresses which include spaces

Maybe I got a bug.

First of all, thank you for your tool. It is really helpful.
I want to debug STM32F407ZET6, but I got one error.
CG2 HVY%YHZ9W@ED{K(G` D
The console outputted

Please check OUTPUT tab (Adapter Output) for output from openocd
Launching server: "openocd" "-c" "gdb_port 50000" "-s" "C:\Users\ShengJiaPeng\Documents\PlatformIO\Projects\STM32F4" "-f" "interface/stlink-v2-1.cfg" "-f" "target/stm32f4x.cfg.cfg"

This is launch.json:

  "showDevDebugOutput": true,
  "cwd": "${workspaceRoot}",
  "executable": "./build/STM32F4.elf",
  "name": "Debug STM32",
  "request": "launch",
  "type": "cortex-debug",
  "servertype": "openocd",
  "preLaunchTask": "Build STM",
  "device": "stlink",
  "configFiles": [
    "interface/stlink-v2-1.cfg",
    "target/stm32f4x.cfg.cfg"
  ]

When I changed "target/stm32f4x.cfg.cfg" into "target/stm32f4x_stlink.cfg", everything was good.

Build before download & run task

If the project is changed, there is no point in downloading the old files to the MCU, so I think there should be an automatic build before download and run if any change is detected.
this can be done by adding this to the download and run task in tasks.json file:

"dependsOn":["Build project"]

the same is true for debugging so this should be added to the launch.json file:

"preLaunchTask": "Build project"

GDB not found

When I try to debug, there's message box: "OpenOCD GDB executable "arm-none-eabi-gdb.exe" was not found. Please configure "cortex-debug.armToolchainPath" correctly."

When I run updatePaths.py, it doesn't even ask the path to gdb. Is it missing?

how to install

Is this product available as VC Code plugin? If so what is its name?
All I am finding in marketplace is "stm32-for-vscode" by Bureau Moeilijke Dingen

.vscode cfg file not found by openocd

When I start debugging it times out. When I enable debugging in cortex-debug I get this command (I use the gnu mcu eclipse version):

$ "/home/niek/opt/npm/bin/openocd" "-c" "gdb_port 50000" "-s" "/home/niek/Documents/code/base/disc_spi" "-f" "/home/niek/opt/xPacks/@gnu-mcu-eclipse/openocd/0.10.0-12.1/.content/scripts/interface/stlink.cfg" "-f" ".vscode/stm32l4x.cfg"

This is the output:

GNU MCU Eclipse OpenOCD, 64-bitOpen On-Chip Debugger 0.10.0+dev-00593-g23ad80df4 (2019-04-22-20:18)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
embedded:startup.tcl:17: Error: target requires -dap parameter instead of -chain-position!
in procedure 'script' 
at file "embedded:startup.tcl", line 56
in procedure 'target' called at file ".vscode/stm32l4x.cfg", line 45
in procedure 'ocd_bouncer' 
at file "embedded:startup.tcl", line 17

Changing the .vscode line to a absolute path launches the debugger:

"/home/niek/opt/npm/bin/openocd" "-c" "gdb_port 50000" "-s" "/home/niek/Documents/code/base/disc_spi" "-f" "/home/niek/opt/xPacks/@gnu-mcu-eclipse/openocd/0.10.0-12.1/.content/scripts/interface/stlink.cfg" "-f" "/home/niek/opt/xPacks/@gnu-mcu-eclipse/openocd/0.10.0-12.1/.content/scripts/target/stm32l4x.cfg"

Or when I change the launch.json to the following:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Cortex debug",
            "type": "cortex-debug",
            "request": "launch",
            "servertype": "openocd",
            "cwd": "${workspaceFolder}",
            "executable": "build/disc_spi.elf",
            "svdFile": ".vscode/STM32L4x6.svd",
            "showDevDebugOutput": true,
            "configFiles": [
                "interface/stlink.cfg",
                "target/stm32l4x.cfg"
            ],
            "preLaunchTask": "Build project"
        },
        {
            "name": "Debug current Python file",
            "type": "python",
            "request": "launch",
            "cwd": "${workspaceFolder}",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

It's working fine.

The problem I think lies in the fact it can't find the local cfg file. I would like to be able to enter the relative paths like the above but these aren't accept by updatePaths.py.

Absolute paths work but by copying the stm32l4x.cfg to the .vscode folder, openocd can't find it anymore.

#FeatureRequest adding support for importing from MKD_ARM Keil project files

I believe this feature has the following benefits:

  • you are not limited to projects created by cube
  • you are not limited to STM32 MCUs
  • you can add files, or reconfigure project mid development using keil.
  • you can import your existing keil projects
  • you can use Keil for things like debugging which may not be completely ready on VSCode yet.
  • suddenly changing your IDE is risky and costly for a lot of developers, this feature can remove this risk
    and developers can decide which is best for them and can go back any time they want this can accelerate the adaptation of VSCode a lot which leads to faster development in its embedded modules as well.

Problem with FreeRTOS

I'm trying to compile a project with FreeRTOS enabled, but the compilation failed when cmsis_os.h and FreeRTOS.h can't be found. These files are generated by STM32CubeMX and are stored in Middlewares/Third_Party/FreeRTOS/Source. It seems that VS-Code-STM32-IDE didn't look into the folder.

Here's the hierarchy:
1

gccExePath

Hi,

What should be the value of "gccExePath"?
Must it be "C:/Programs/GNU_arm_tools/ARM_Embedded_GCC/bin/arm-none-eabi-gcc.exe" or
"C:/Programs/GNU_arm_tools/ARM_Embedded_GCC/bin"?

If i choose last one, updatePaths.py fails to locate <stdint.h>.
If first, the script runs good, but VSCode displays a warning in c_cpp_properties.json "Path is not a directory: "C:\Programs\GNU_arm_tools\ARM_Embedded_GCC\bin\arm-none-eabi-gcc.exe""

BTW, there is a second warning "IntelliSense mode msvc-x64 is incompatible with compiler path."

#FeatureRequest Parallel building

Hi Domen,

I've tried your tool and it works pretty good so far.
Could I ask you to implement some sort of -j command in the makefiles somewhere?
I simply added the -j12 arg to the make command and that worked for me.
This command cuts my build times for egregiously cases from over a minute to less than 10 seconds.

Paths with spaces

Hi!

In the readme you state that paths to compiler and build tools can contain spaces.
But for me build command generated by the script does not work (ran it both through VSCode task and manualy under Build Tools shell):

$ make "GCC_PATH=C:/Programs/GNU MCU Eclipse/ARM Embedded GCC/bin" -j6
make: *** [Makefile:156: build/main.o] Error 127
make: *** Waiting for unfinished jobs....
make: *** [Makefile:156: build/stm32f4xx_it.o] Error 127
c:/programs/gnu mcu eclipse/build tools/2.12-20190422-1053/bin/sh: C:/Programs/GNU: not found

Under Build Tools shell It can be fixed by adding extra quotes to GCC_PATH:
$ make "GCC_PATH='C:/Programs/GNU MCU Eclipse/ARM Embedded GCC/bin'" -j6
... Build succesful

But build task ran from VSCode does not work even after adding quotes to GCC_PATH in tasks.json:

> Executing task in folder Stm32CubeGCC: & 'C:/Programs/GNU MCU Eclipse/Build Tools/2.12-20190422-1053/bin/make.exe' GCC_PATH='C:/Programs/GNU MCU Eclipse/ARM Embedded GCC/bin' -j6 <

mkdir build
C:/Programs/GNU MCU Eclipse/ARM Embedded GCC/bin/arm-none-eabi-gcc -c -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -DUSE_HAL_DRIVER -DSTM32F429xx -IInc -IDrivers/STM32F4xx_HAL_Driver/Inc -IDrivers/STM32F4xx_HAL_Driver/Inc/Legacy -IDrivers/CMSIS/Device/ST/STM32F4xx/Include -IDrivers/CMSIS/Include -IDrivers/CMSIS/Include -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/main.d" -Wa,-a,-ad,-alms=build/main.lst Src/main.c -o build/main.o
C:/Programs/GNU MCU Eclipse/ARM Embedded GCC/bin/arm-none-eabi-gcc -c -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -DUSE_HAL_DRIVER -DSTM32F429xx -IInc -IDrivers/STM32F4xx_HAL_Driver/Inc -IDrivers/STM32F4xx_HAL_Driver/Inc/Legacy -IDrivers/CMSIS/Device/ST/STM32F4xx/Include -IDrivers/CMSIS/Include -IDrivers/CMSIS/Include -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"build/stm32f4c:/programs/gnu mcu eclipse/build tools/2.12-20190422-1053/bin/sh: xx_it.d" -Wa,-C:/Programs/GNU: not found
a,-ad,-alms=build/stm32f4xx_it.lst Src/stm32f4xx_it.c -o build/stm32f4xx_it.o
make: *** [Makefile:156: build/main.o] Error 127
make: *** Waiting for unfinished jobs....
c:/programs/gnu mcu eclipse/build tools/2.12-20190422-1053/bin/sh: C:/Programs/GNU: not found
make: *** [Makefile:156: build/stm32f4xx_it.o] Error 127
The terminal process terminated with exit code: 1

Default shell set to PowerShell

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.