diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml index 9d03bd2..b24ad69 100644 --- a/.github/workflows/examples.yml +++ b/.github/workflows/examples.yml @@ -7,25 +7,23 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-18.04, windows-latest, macos-latest] - python-version: [3.7] + os: [ubuntu-latest, windows-latest, macos-latest] example: - "examples/arduino-blink" - "examples/arduino-external-libs" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: "recursive" - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + - name: Set up Python + uses: actions/setup-python@v3 with: - python-version: ${{ matrix.python-version }} + python-version: "3.9" - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U https://github.com/platformio/platformio/archive/develop.zip - platformio platform install file://. + pio pkg install --global --platform symlink://. - name: Build examples run: | - platformio run -d ${{ matrix.example }} + pio run -d ${{ matrix.example }} diff --git a/README.md b/README.md index 47b4217..2f2ee78 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ RP2040 is a low-cost, high-performance microcontroller device with a large on-ch # Usage -1. [Install PlatformIO](http://platformio.org) +1. [Install PlatformIO](https://platformio.org) 2. Create PlatformIO project and configure a platform option in [platformio.ini](https://docs.platformio.org/page/projectconf.html) file: ## Stable version diff --git a/builder/frameworks/_bare.py b/builder/frameworks/_bare.py index 4fd489e..a083fa9 100644 --- a/builder/frameworks/_bare.py +++ b/builder/frameworks/_bare.py @@ -21,7 +21,12 @@ from SCons.Script import DefaultEnvironment env = DefaultEnvironment() env.Append( - ASFLAGS=["-x", "assembler-with-cpp"], + ASFLAGS=[ + "-mthumb", + ], + ASPPFLAGS=[ + "-x", "assembler-with-cpp", + ], CCFLAGS=[ "-Os", # optimize for size @@ -54,6 +59,9 @@ env.Append( if "BOARD" in env: env.Append( + ASFLAGS=[ + "-mcpu=%s" % env.BoardConfig().get("build.cpu") + ], CCFLAGS=[ "-mcpu=%s" % env.BoardConfig().get("build.cpu") ], @@ -61,6 +69,3 @@ if "BOARD" in env: "-mcpu=%s" % env.BoardConfig().get("build.cpu") ] ) - -# copy CCFLAGS to ASFLAGS (-x assembler-with-cpp mode) -env.Append(ASFLAGS=env.get("CCFLAGS", [])[:]) diff --git a/builder/frameworks/arduino/mbed-core b/builder/frameworks/arduino/mbed-core index 36ee4ff..ed9a345 160000 --- a/builder/frameworks/arduino/mbed-core +++ b/builder/frameworks/arduino/mbed-core @@ -1 +1 @@ -Subproject commit 36ee4ff8adb0d80d6ff15e03b34e7b10a147b4d0 +Subproject commit ed9a3458e336660fdf2b1d4a4c828a2ddfd214ad diff --git a/builder/main.py b/builder/main.py index 0854f09..e59f3f5 100644 --- a/builder/main.py +++ b/builder/main.py @@ -17,7 +17,7 @@ from platform import system from os import makedirs from os.path import isdir, join -from platformio.util import get_serial_ports +from platformio.public import list_serial_ports from SCons.Script import (ARGUMENTS, COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default, DefaultEnvironment) @@ -29,7 +29,7 @@ def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621 upload_options = env.BoardConfig().get("upload", {}) env.AutodetectUploadPort() - before_ports = get_serial_ports() + before_ports = list_serial_ports() if upload_options.get("use_1200bps_touch", False): env.TouchSerialPort("$UPLOAD_PORT", 1200) diff --git a/platform.json b/platform.json index 4ab2f54..08e0339 100644 --- a/platform.json +++ b/platform.json @@ -12,13 +12,13 @@ "RP2040" ], "engines": { - "platformio": "^5" + "platformio": "^6" }, "repository": { "type": "git", "url": "https://github.com/platformio/platform-raspberrypi.git" }, - "version": "1.6.0", + "version": "1.7.0", "frameworks": { "arduino": { "package": "framework-arduino-mbed", @@ -35,7 +35,7 @@ "type": "framework", "optional": true, "owner": "platformio", - "version": "~3.0.1" + "version": "~3.1.1" }, "tool-rp2040tools": { "type": "uploader", diff --git a/platform.py b/platform.py index bd68da0..26b2ffe 100644 --- a/platform.py +++ b/platform.py @@ -12,10 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -import copy import platform -from platformio.managers.platform import PlatformBase +from platformio.public import PlatformBase class RaspberrypiPlatform(PlatformBase): @@ -39,16 +38,16 @@ class RaspberrypiPlatform(PlatformBase): if not any(jlink_conds) and jlink_pkgname in self.packages: del self.packages[jlink_pkgname] - return PlatformBase.configure_default_packages(self, variables, targets) + return super().configure_default_packages(variables, targets) def get_boards(self, id_=None): - result = PlatformBase.get_boards(self, id_) + result = super().get_boards(id_) if not result: return result if id_: return self._add_default_debug_tools(result) else: - for key, value in result.items(): + for key in result: result[key] = self._add_default_debug_tools(result[key]) return result @@ -102,7 +101,6 @@ class RaspberrypiPlatform(PlatformBase): def configure_debug_session(self, debug_config): adapter_speed = debug_config.speed or "5000" - server_options = debug_config.server or {} server_arguments = server_options.get("arguments", []) if "interface/cmsis-dap.cfg" in server_arguments: