Merge latest upstream

This commit is contained in:
unknown 2022-06-09 20:58:27 +02:00
commit a587ecab51
8 changed files with 417 additions and 349 deletions

View File

@ -7,26 +7,24 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: [3.7]
os: [ubuntu-latest, windows-latest, macos-latest]
example:
- "examples/arduino-blink"
- "examples/arduino-blink"
- "examples/arduino-blink-earlephilhower"
- "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
pio pkg install --global --platform symlink://.
- name: Build examples
run: |
platformio run -d ${{ matrix.example }}
pio run -d ${{ matrix.example }}

View File

@ -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

View File

@ -50,4 +50,4 @@
},
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
"vendor": "Raspberry Pi"
}
}

View File

@ -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", [])[:])

View File

@ -15,12 +15,11 @@
import sys
from platform import system
from os import makedirs
from os.path import isdir, join, isfile
from shutil import copyfile
from os.path import isdir, join
import re
import time
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)
@ -32,7 +31,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)
@ -239,7 +238,7 @@ def _update_max_upload_size(env):
fetch_fs_size(env)
env.BoardConfig().update("upload.maximum_size", env["PICO_FLASH_LENGTH"])
# update max upload size based on CSV file
# update max upload size based on set sketch size (or raw maximum size)
if env.get("PIOMAINPROG"):
env.AddPreAction(
"checkprogsize",
@ -391,9 +390,6 @@ elif upload_protocol in debug_tools:
"tool-openocd-raspberrypi") or "")
for f in openocd_args
]
# use ELF file for upload, not bin (target_firm). otherwise needs
# offset 0x10000000
#upload_source = target_elf
env.Replace(
UPLOADER="openocd",
UPLOADERFLAGS=openocd_args,

File diff suppressed because it is too large Load Diff

View File

@ -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",
@ -41,7 +41,7 @@
"type": "framework",
"optional": true,
"owner": "platformio",
"version": "~3.0.1"
"version": "~3.1.1"
},
"framework-arduinopico": {
"type": "framework",

View File

@ -12,11 +12,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import sys
import copy
import platform
from platformio.managers.platform import PlatformBase
from platformio.public import PlatformBase
class RaspberrypiPlatform(PlatformBase):
@ -50,7 +48,7 @@ class RaspberrypiPlatform(PlatformBase):
# if we want to build a filesystem, we need the tools.
if "buildfs" in targets:
self.packages['tool-mklittlefs']['optional'] = False
self.packages['tool-mklittlefs-rp2040-earlephilhower']['optional'] = False
# configure J-LINK tool
jlink_conds = [
@ -67,16 +65,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
@ -131,7 +129,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: