Skip to content

Commit 8a9af99

Browse files
committed
release 2.0.0 - RP2350 and SDK2.0.0 changes
1 parent b19b6aa commit 8a9af99

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+74516
-1780
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
build/*
12
bazel-*
23

34
# Ignore until https://github.com/bazelbuild/bazel/issues/20369 is fixed.

BUILD.bazel

+71-13
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,102 @@
1+
load("//bazel:defs.bzl", "otp_header_parse", "picotool_binary_data_header")
2+
13
package(default_visibility = ["//visibility:public"])
24

5+
picotool_binary_data_header(
6+
name = "rp2350_rom",
7+
src = "bootrom.end.bin",
8+
out = "rp2350.rom.h",
9+
)
10+
11+
# TODO: Make it possible to build the prebuilt from source.
12+
picotool_binary_data_header(
13+
name = "xip_ram_perms_elf",
14+
src = "//xip_ram_perms:xip_ram_perms_prebuilt",
15+
out = "xip_ram_perms_elf.h",
16+
)
17+
18+
cc_library(
19+
name = "xip_ram_perms",
20+
srcs = ["xip_ram_perms.cpp"],
21+
hdrs = [
22+
"xip_ram_perms.h",
23+
"xip_ram_perms_elf.h",
24+
],
25+
deps = [
26+
"//bazel:data_locs",
27+
"//lib/whereami",
28+
],
29+
)
30+
31+
filegroup(
32+
name = "data_locs_header",
33+
srcs = ["data_locs.h"],
34+
)
35+
36+
otp_header_parse(
37+
name = "otp_header",
38+
src = "@pico-sdk//src/rp2350/hardware_regs:otp_data_header",
39+
out = "rp2350.json.h",
40+
)
41+
342
cc_binary(
443
name = "picotool",
544
srcs = [
645
"cli.h",
746
"clipp/clipp.h",
8-
"elf.h",
947
"main.cpp",
10-
"picoboot_connection/picoboot_connection.c",
11-
"picoboot_connection/picoboot_connection.h",
12-
"picoboot_connection/picoboot_connection_cxx.cpp",
13-
"picoboot_connection/picoboot_connection_cxx.h",
48+
"otp.cpp",
49+
"otp.h",
50+
"rp2350.json.h",
51+
"rp2350.rom.h",
52+
"xip_ram_perms.cpp",
1453
],
1554
copts = select({
16-
"@platforms//os:windows": [],
55+
"@rules_cc//cc/compiler:msvc-cl": [
56+
"/std:c++20",
57+
],
1758
"//conditions:default": [
1859
"-fexceptions",
1960
"-Wno-delete-non-abstract-non-virtual-dtor",
2061
"-Wno-reorder-ctor",
2162
"-Wno-unused-variable",
63+
"-Wno-unused-but-set-variable",
2264
],
2365
}),
24-
# TODO: There's probably a nicer way to do share this with CMake.
2566
defines = [
26-
'PICOTOOL_VERSION=\\"1.1.3-rc1\\"',
67+
# TODO: There's probably a nicer way to share the version with CMake.
68+
'PICOTOOL_VERSION=\\"2.0.0\\"',
2769
'SYSTEM_VERSION=\\"host\\"',
2870
'COMPILER_INFO=\\"local\\"',
71+
"SUPPORT_A0=0",
72+
"SUPPORT_A2=1",
73+
"PICOTOOL_CODE_OTP=0",
74+
# TODO: Make it possible to compile from source.
75+
"USE_PRECOMPILED=1",
2976
],
3077
# Windows does not behave nicely with the automagic force_dynamic_linkage_enabled.
3178
dynamic_deps = select({
3279
"@rules_libusb//:force_dynamic_linkage_enabled": ["@libusb//:libusb_dynamic"],
3380
"//conditions:default": [],
3481
}),
35-
includes = ["picoboot_connection"],
3682
deps = [
83+
":xip_ram_perms",
84+
"//bazel:data_locs",
85+
"//bintool",
86+
"//elf",
87+
"//elf2uf2",
88+
"//errors",
89+
"//lib/nlohmann_json:json",
90+
"//picoboot_connection",
3791
"@libusb",
38-
"@pico-sdk//src/common/boot_picoboot:boot_picoboot",
39-
"@pico-sdk//src/common/boot_uf2:boot_uf2",
40-
"@pico-sdk//src/common/pico_base:platform_defs",
41-
"@pico-sdk//src/common/pico_binary_info:pico_binary_info",
92+
"@pico-sdk//src/common/boot_picobin_headers",
93+
"@pico-sdk//src/common/boot_picoboot_headers",
94+
"@pico-sdk//src/common/boot_uf2_headers",
95+
"@pico-sdk//src/common/pico_base_headers",
96+
"@pico-sdk//src/common/pico_binary_info",
97+
"@pico-sdk//src/common/pico_usb_reset_interface_headers",
98+
"@pico-sdk//src/rp2350/hardware_regs:otp_data",
99+
"@pico-sdk//src/rp2_common/pico_bootrom:pico_bootrom_headers",
42100
"@pico-sdk//src/rp2_common/pico_stdio_usb:reset_interface_headers",
43101
],
44102
)

0 commit comments

Comments
 (0)