Skip to content

Commit 34bca64

Browse files
committed
Merge remote-tracking branch 'remotes/gpu-dev/dev-pico-sdk' into gpu-dev
2 parents 9173d20 + fcf13f4 commit 34bca64

14 files changed

+550
-40
lines changed

.vscode/c_cpp_properties.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"configurations": [
3+
{
4+
"name": "Pico",
5+
"includePath": [
6+
"${workspaceFolder}/**",
7+
"${userHome}/.pico-sdk/sdk/1.5.1/**"
8+
],
9+
"forcedInclude": [
10+
"${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h",
11+
"${userHome}/.pico-sdk/sdk/1.5.1/src/common/pico_base/include/pico.h"
12+
],
13+
"defines": [],
14+
"compilerPath": "${userHome}/.pico-sdk/toolchain/13_3_Rel1/bin/arm-none-eabi-gcc",
15+
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
16+
"cStandard": "c17",
17+
"cppStandard": "c++14",
18+
"intelliSenseMode": "linux-gcc-arm"
19+
}
20+
],
21+
"version": 4
22+
}

.vscode/cmake-kits.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[
2+
{
3+
"name": "Pico",
4+
"compilers": {
5+
"C": "${userHome}/.pico-sdk/toolchain/13_3_Rel1/bin/arm-none-eabi-gcc.exe",
6+
"CXX": "${userHome}/.pico-sdk/toolchain/13_3_Rel1/bin/arm-none-eabi-gcc.exe"
7+
},
8+
"toolchainFile": "${env:USERPROFILE}/.pico-sdk/sdk/2.0.0/cmake/preload/toolchains/pico_arm_cortex_m33_gcc.cmake",
9+
"environmentVariables": {
10+
"PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}"
11+
},
12+
"cmakeSettings": {
13+
"Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}"
14+
}
15+
}
16+
]

.vscode/extensions.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"recommendations": [
3+
"marus25.cortex-debug",
4+
"ms-vscode.cpptools",
5+
"ms-vscode.cpptools-extension-pack",
6+
"ms-vscode.vscode-serial-monitor",
7+
"raspberry-pi.raspberry-pi-pico",
8+
]
9+
}

.vscode/launch.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Pico Debug (Cortex-Debug)",
6+
"cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts",
7+
"executable": "${command:raspberry-pi-pico.launchTargetPath}",
8+
"request": "launch",
9+
"type": "cortex-debug",
10+
"servertype": "openocd",
11+
"serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe",
12+
"gdbPath": "${command:raspberry-pi-pico.getGDBPath}",
13+
"device": "${command:raspberry-pi-pico.getChipUppercase}",
14+
"configFiles": [
15+
"interface/cmsis-dap.cfg",
16+
"target/${command:raspberry-pi-pico.getTarget}.cfg"
17+
],
18+
"svdFile": "${userHome}/.pico-sdk/sdk/1.5.1/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd",
19+
"runToEntryPoint": "main",
20+
// Fix for no_flash binaries, where monitor reset halt doesn't do what is expected
21+
// Also works fine for flash binaries
22+
"overrideLaunchCommands": [
23+
"monitor reset init",
24+
"load \"${command:raspberry-pi-pico.launchTargetPath}\""
25+
],
26+
"openOCDLaunchCommands": [
27+
"adapter speed 5000"
28+
]
29+
},
30+
{
31+
"name": "Pico Debug (Cortex-Debug with external OpenOCD)",
32+
"cwd": "${workspaceRoot}",
33+
"executable": "${command:raspberry-pi-pico.launchTargetPath}",
34+
"request": "launch",
35+
"type": "cortex-debug",
36+
"servertype": "external",
37+
"gdbTarget": "localhost:3333",
38+
"gdbPath": "${command:raspberry-pi-pico.getGDBPath}",
39+
"device": "${command:raspberry-pi-pico.getChipUppercase}",
40+
"svdFile": "${userHome}/.pico-sdk/sdk/1.5.1/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd",
41+
"runToEntryPoint": "main",
42+
// Give restart the same functionality as runToEntryPoint - main
43+
"postRestartCommands": [
44+
"break main",
45+
"continue"
46+
]
47+
},
48+
{
49+
"name": "Pico Debug (C++ Debugger)",
50+
"type": "cppdbg",
51+
"request": "launch",
52+
"cwd": "${workspaceRoot}",
53+
"program": "${command:raspberry-pi-pico.launchTargetPath}",
54+
"MIMode": "gdb",
55+
"miDebuggerPath": "${command:raspberry-pi-pico.getGDBPath}",
56+
"miDebuggerServerAddress": "localhost:3333",
57+
"debugServerPath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe",
58+
"debugServerArgs": "-f interface/cmsis-dap.cfg -f target/${command:raspberry-pi-pico.getTarget}.cfg -c \"adapter speed 5000\"",
59+
"serverStarted": "Listening on port .* for gdb connections",
60+
"filterStderr": true,
61+
"hardwareBreakpoints": {
62+
"require": true,
63+
"limit": 4
64+
},
65+
"preLaunchTask": "Flash",
66+
"svdPath": "${userHome}/.pico-sdk/sdk/1.5.1/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd"
67+
},
68+
]
69+
}

.vscode/settings.json

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,40 @@
11
{
2-
"files.associations": {
3-
"*.md": "markdown",
4-
"xtr1common": "c",
5-
"stdlib.h": "c",
6-
"multicore.h": "c",
7-
"stdio.h": "c",
8-
"tms9918.pio.h": "c",
9-
"cstdint": "c",
10-
"typeinfo": "c",
11-
"stddef.h": "c",
12-
"string.h": "c"
13-
}
14-
}
2+
"cmake.options.statusBarVisibility": "hidden",
3+
"cmake.options.advanced": {
4+
"build": {
5+
"statusBarVisibility": "hidden"
6+
},
7+
"launch": {
8+
"statusBarVisibility": "hidden"
9+
},
10+
"debug": {
11+
"statusBarVisibility": "hidden"
12+
}
13+
},
14+
"cmake.configureOnEdit": false,
15+
"cmake.automaticReconfigure": false,
16+
"cmake.configureOnOpen": false,
17+
"cmake.generator": "Ninja",
18+
"cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.28.6/bin/cmake",
19+
"C_Cpp.debugShortcut": false,
20+
"terminal.integrated.env.windows": {
21+
"PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/1.5.1",
22+
"PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/13_3_Rel1",
23+
"Path": "${env:USERPROFILE}/.pico-sdk/toolchain/13_3_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.0.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.28.6/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}"
24+
},
25+
"terminal.integrated.env.osx": {
26+
"PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/1.5.1",
27+
"PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/13_3_Rel1",
28+
"PATH": "${env:HOME}/.pico-sdk/toolchain/13_3_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.0.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.28.6/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}"
29+
},
30+
"terminal.integrated.env.linux": {
31+
"PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/1.5.1",
32+
"PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/13_3_Rel1",
33+
"PATH": "${env:HOME}/.pico-sdk/toolchain/13_3_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.0.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.28.6/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}"
34+
},
35+
"raspberry-pi-pico.cmakeAutoConfigure": true,
36+
"raspberry-pi-pico.useCmakeTools": false,
37+
"raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.28.6/bin/cmake",
38+
"raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja",
39+
"raspberry-pi-pico.python3Path": "${HOME}/.pico-sdk/python/3.12.1/python.exe"
40+
}

.vscode/tasks.json

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "Compile Project",
6+
"type": "process",
7+
"isBuildCommand": true,
8+
"command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja",
9+
"args": ["-C", "${workspaceFolder}/build"],
10+
"group": "build",
11+
"presentation": {
12+
"reveal": "always",
13+
"panel": "dedicated"
14+
},
15+
"problemMatcher": "$gcc",
16+
"windows": {
17+
"command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe"
18+
}
19+
},
20+
{
21+
"label": "Run Project",
22+
"type": "process",
23+
"command": "${env:HOME}/.pico-sdk/picotool/2.0.0/picotool/picotool",
24+
"args": [
25+
"load",
26+
"${command:raspberry-pi-pico.launchTargetPath}",
27+
"-fx"
28+
],
29+
"presentation": {
30+
"reveal": "always",
31+
"panel": "dedicated"
32+
},
33+
"problemMatcher": [],
34+
"windows": {
35+
"command": "${env:USERPROFILE}/.pico-sdk/picotool/2.0.0/picotool/picotool.exe"
36+
}
37+
},
38+
{
39+
"label": "Flash",
40+
"type": "process",
41+
"command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe",
42+
"args": [
43+
"-s",
44+
"${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts",
45+
"-f",
46+
"interface/cmsis-dap.cfg",
47+
"-f",
48+
"target/${command:raspberry-pi-pico.getTarget}.cfg",
49+
"-c",
50+
"adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit"
51+
],
52+
"problemMatcher": [],
53+
"windows": {
54+
"command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe",
55+
}
56+
}
57+
]
58+
}

CMakeLists.txt

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,44 @@
1-
cmake_minimum_required(VERSION 3.12)
1+
# Generated Cmake Pico project file
22

3-
# pull in PICO SDK (must be before project)
3+
cmake_minimum_required(VERSION 3.13)
4+
5+
set(CMAKE_C_STANDARD 11)
6+
set(CMAKE_CXX_STANDARD 17)
7+
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
8+
9+
# Initialise pico_sdk from installed location
10+
# (note this can come from environment, CMake cache etc)
11+
12+
# == DO NEVER EDIT THE NEXT LINES for Raspberry Pi Pico VS Code Extension to work ==
13+
if(WIN32)
14+
set(USERHOME $ENV{USERPROFILE})
15+
else()
16+
set(USERHOME $ENV{HOME})
17+
endif()
18+
set(sdkVersion 1.5.1)
19+
set(toolchainVersion 13_3_Rel1)
20+
set(picotoolVersion 2.0.0)
21+
set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
22+
if (EXISTS ${picoVscode})
23+
include(${picoVscode})
24+
endif()
25+
# ====================================================================================
26+
set(PICO_BOARD pico CACHE STRING "Board type")
27+
28+
# Pull in Raspberry Pi Pico SDK (must be before project)
429
include(pico_sdk_import.cmake)
530

631
# pull in helpers for my custom tools
732
include(visrealm_tools.cmake)
833

9-
set(BUILD_SHARED_LIBS OFF)
10-
11-
set(PROJECT pico9918)
12-
13-
set(PICO_BOARD_HEADER_DIRS ${CMAKE_CURRENT_LIST_DIR}/src/boards )
14-
set(PICO_BOARD "pico9918_v04")
15-
16-
project(${PROJECT} C CXX)
34+
project(pico9918 C CXX ASM)
1735

1836
add_definitions(-DPICO_BUILD=1)
1937
add_definitions(-DVR_EMU_TMS9918_SINGLE_INSTANCE=1)
2038

21-
set(CMAKE_C_STANDARD 11)
22-
set(CMAKE_CXX_STANDARD 17)
23-
24-
# Initialize the Pico SDK
39+
# Initialise the Raspberry Pi Pico SDK
2540
pico_sdk_init()
2641

2742
add_subdirectory(submodules/vrEmuTms9918)
2843
add_subdirectory(src)
29-
add_subdirectory(test)
30-
44+
add_subdirectory(test)
File renamed without changes.

0 commit comments

Comments
 (0)