| { | |
| "folders": [ | |
| { "path": "."} | |
| ], | |
| "settings": { | |
| "files.associations": { | |
| ".*/BUILD": "starlark", | |
| ".*/METADATA": "starlark", | |
| ".*/WORKSPACE": "starlark", | |
| "*.gss": "css", | |
| "*.inc": "c" | |
| }, | |
| "files.exclude": { | |
| ".repo": true, | |
| "autom4te.cache": true, | |
| "cache": true, | |
| "cicd": true, | |
| "manifest": true, | |
| "out": true, | |
| "toolchain": true, | |
| "**/Cargo.lock": true, | |
| "**/target": true, | |
| "**/arch-arm": true, | |
| "**/arch/arm": true, | |
| "**/arch/x86": true, | |
| "**/x86_64": true, | |
| "**/aarch64": true, | |
| "**/arch/64": true, | |
| "**/plat/64": true, | |
| "**/plat/pc99": true, | |
| } | |
| }, | |
| "launch": { | |
| "version": "0.2.0", | |
| "configurations": [ | |
| { | |
| "name": "MatchaDebugger", | |
| "type": "cppdbg", | |
| "request": "launch", | |
| // This has to be set. | |
| "cwd": "${workspaceFolder}", | |
| // This has to be set, but it is unused because of our custom launch script. | |
| "program": "../../out/shodan_boot_rom/build-out/multihart_boot_rom/multihart_boot_rom_sim_verilator.elf", | |
| "MIMode": "gdb", | |
| "miDebuggerPath": "${workspaceFolder}/../../cache/toolchain/bin/riscv32-unknown-elf-gdb", | |
| "miDebuggerServerAddress": "localhost:3333", // If this isn't set, vscode will open another terminal on launch | |
| "logging": { "engineLogging": true }, // optional, enable if you want to see the gdb commands that were sent | |
| // VSCode claims this is deprecated, but if you use "customLaunchSetupCommands" it won't start the debugging session if this isn't here | |
| // and valid. It does _not_ appear to matter what it's set to. | |
| "targetArchitecture": "x64", // riscv:rv32? | |
| "customLaunchSetupCommands":[ | |
| // Set gdb current directory. | |
| {"text": "cd ${workspaceFolder}"}, | |
| // Set app current directory. | |
| {"text": "set cwd ${workspaceFolder}"}, | |
| // Set source file search path. | |
| {"text": "directory ../../sw/matcha"}, | |
| {"text": "directory ../../sw/tock"}, | |
| // Load the bootrom executable. | |
| {"text": "file ../../out/shodan_boot_rom/build-out/multihart_boot_rom/multihart_boot_rom_sim_verilator.elf"}, | |
| // Load additional symbol files. "-file-symbol-file" seems to unload previously loaded symbols, but add-symbol-file works. | |
| {"text": "set confirm off"}, | |
| // Matcha+TockOS symbols | |
| {"text": "add-symbol-file ../../out/matcha/riscv32imc-unknown-none-elf/debug/matcha_platform"}, | |
| {"text": "add-symbol-file ../../out/matcha/riscv32imc-unknown-none-elf/debug/matcha_app"}, | |
| // Connect to the Renode gdb server. | |
| {"text": "target remote localhost:3333"}, | |
| ], | |
| // This is supposed to stop vscode from issuing an "-exec-continue", but it doesn't seem to work. | |
| "launchCompleteCommand": "None" | |
| } | |
| ], | |
| }, | |
| "extensions": { | |
| }, | |
| "tasks": { | |
| "version": "2.0.0", | |
| "tasks": [] | |
| } | |
| } | |