diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b27c260b1..c14216629 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,34 +54,18 @@ jobs: run: | echo EXTRA_ZEPHYR_MODULES="$(pwd)/$MODULE_PATH" >> $GITHUB_ENV - - name: Fetch the Arduino API - run: | - west blobs --auto-accept fetch arduino-api - - name: Apply Zephyr patches run: | bash $MODULE_PATH/extra/apply_zephyr_patches.sh - - name: Build PSE84 blinky + - name: Build blinky run: | west build -p -b kit_pse84_ai/pse846gps2dbzc4a/m33 $MODULE_PATH/samples/blinky_arduino - - name: Build PSE84 hello + - name: Build hello run: | west build -p -b kit_pse84_ai/pse846gps2dbzc4a/m33 $MODULE_PATH/samples/hello_arduino - - name: Build PSE84 threads + - name: Build threads run: | west build -p -b kit_pse84_ai/pse846gps2dbzc4a/m33 $MODULE_PATH/samples/threads_arduino - - - name: Build fade - run: | - west build -p -b arduino_nano_33_ble//sense $MODULE_PATH/samples/fade - - - name: Build i2cdemo - run: | - west build -p -b ek_ra8d1 $MODULE_PATH/samples/i2cdemo - - - name: Build adc - run: | - west build -p -b arduino_nano_33_ble/nrf52840/sense $MODULE_PATH/samples/analog_input diff --git a/README.md b/README.md index d4864b3f4..2be89b253 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,18 @@ -# Infineon PSOC™ Edge Zephyr-based Arduino Core -[![Default branch status](https://github.com/Infineon/ArduinoCore-zephyr/actions/workflows/package_core.yml/badge.svg?branch=main&event=push)](https://github.com/Infineon/ArduinoCore-zephyr/actions/workflows/package_core.yml) +# PSOC™ Arduino Core for Zephyr on Infineon PSOC™ Edge E84 > [!IMPORTANT] > This project is a work in progress. -> It does not yet cover the full Arduino API or all PSOC™ Edge features. +> It does not yet cover the full Arduino API surface or all PSOC™ Edge features. +> +> [![Default branch status](https://github.com/Infineon/ArduinoCore-zephyr/actions/workflows/package_core.yml/badge.svg?branch=main&event=push)](https://github.com/Infineon/ArduinoCore-zephyr/actions/workflows/package_core.yml) -This repository contains the Zephyr-based Arduino core for: +This repository contains the Zephyr-based Arduino core port for: -- [Infineon KIT-PSE84-AI (PSOC™ Edge E84)](https://www.infineon.com/cms/en/product/evaluation-boards/kit-pse84-ai/) +- Infineon KIT-PSE84-AI (PSOC™ Edge E84) -You can install the core through the Boards Manager in Arduino IDE, or via the Arduino CLI. -After installing the core, the **loader has to be flashed** and your first sketch can be uploaded. Steps are provided for both, [Arduino IDE](#installation--usage-in-arduino-ide) and [Arduino CLI](#installation--usage-in-arduino-cli). +## ⚙️ Install In Arduino IDE -## Installation & Usage in Arduino IDE - -### Installation - -Use Arduino IDE 2.x and install the platform through Arduino's Boards Manager. +Use Arduino IDE 2.x and install the platform through Boards Manager. 1. Open Arduino IDE. 2. Navigate to *'File > Preferences'*. @@ -29,11 +25,118 @@ https://github.com/Infineon/ArduinoCore-zephyr/releases/latest/download/package_ 4. Open *'Boards Manager'* (left side menu). 5. Search for *'PSOC Edge'* and install `Infineon PSOC Edge Boards`. This may take a moment. -### Usage +1. Open Arduino IDE. +2. Navigate to *'File > Preferences'*. +3. In Additional boards manager URLs, add: + +```bash +arduino-cli core install infineon:zephyr_pse84 --additional-urls https://github.com/Infineon/ArduinoCore-zephyr/releases/latest/download/package_infineon_pse84_index.json +``` +(TODO untested) + +4. Open *'Boards Manager'* (left side menu). +5. Search for *'PSOC Edge'* and install `Infineon PSOC Edge Boards`. This may take a moment. + +To get started with your board: +6. Select the correct platform and port (e.g. `Tools > Board: ... > Infineon PSOC Edge Boards > Infineon KIT-PSE84-AI (PSOC Edge E84)` and `Tools > COM`). +7. Run the `Tools > Burn Bootloader` option from the IDE/CLI. + +Once the bootloader is flashed, you can upload your first sketch. + + +## Current Arduino API Coverage + +### Pinout + +![Pinout](doc/temporaryPinout.PNG) +TODO fix image -1. Select the PSOC™ Edge board and the correct serial port: `Tools > Board > Infineon PSOC Edge Boards > Infineon KIT-PSE84-AI (PSOC Edge E84)` and `Tools > Port`. -2. Flash the loader: `Tools > Burn Bootloader`. -3. Open or write a sketch and click *Upload*. +### Macros + +For the exact macro definitions, refer to `variants/kit_pse84_ai_pse846gps2dbzc4a_m33/variant.h`. +Here is a general explanation: + +- Every exposed GPIO pin from the pinout has a macro identical to the documentation name, e.g. `P17_3`, `P16_0`, `P15_3`, etc. +- Digital pins have a macro in the format `Dx`, where `x` is the index of the arduino pin in the range [0, 47], e.g. `D0`, `D15`, `D47`, etc. +- Analog pins have a macro in the format `Ax`, where `x` is the index of the arduino pin in the range [0, 15], e.g. `A0`, `A1`, `A15`, etc. +- Onboard LED pin name macros are: + - `LED_BUILTIN`: `P10_7` + - `LED_BUILTIN_1`: `P10_7` + - `LED_BUILTIN_2`: `P10_5` + - `LED_BUILTIN_ACTIVE`: `HIGH` + - `LED_RED`: `P20_6` + - `LED_GREEN`: `P20_4` + - `LED_BLUE`: `P20_5` + - `BTN_BUILTIN`: `P7_0` (`SW1`) + - TODO possibly adjust/correct (especially onboard LEDX naming convention, or e.g. SW1) +- I2C pins are defined as `SDA`/`SCL` and `SDA1`/`SCL1` for the internal (`Wire`), and external (`Wire1`) I2C bus respectively. +- Expansion header pins include the macros as printed on the board: `SERIAL_INTx` where `x` is the index in the range [0, 3], e.g. `SERIAL_INT0`. + +### Working functions + +Current status for this port is summarized below. + +Legend: +| Symbol | Definition | +| --- | --- | +| ✅ | working/tested | +| ⚠️ | untested | +| ❌ | missing | + +| Area | Status | Notes | +| --- | --- | --- | +| Sketch lifecycle (`setup`, `loop`) | ✅ | Core runtime is present and used by samples. | +| Timing (`millis`, `micros`, `delay`, `yield`) | ⚠️ | Implemented in Zephyr-backed core code. | +| Digital GPIO (`pinMode`, `digitalRead`, `digitalWrite`) | ✅ | Implemented in core. | +| Interrupts (`attachInterrupt`, `detachInterrupt`) | ⚠️ | Implemented in core. | +| Analog input (`analogRead`) | ❌ | Not supported yet on this PSOC™ Edge port. | +| Analog output (`analogWrite`) | ❌ | Not supported yet on this PSOC™ Edge port. | +| UART Serial | ✅ | Zephyr UART-backed serial is implemented. | +| USB Serial | ❌ | Current PSOC™ Edge board config is non-native USB for sketch upload/runtime serial. | +| SPI | ❌ | Not supported yet on this PSOC™ Edge port. | +| I2C (`Wire`, `Wire1`) | ✅ | Supported on this PSOC™ Edge port. | +| Threads (`Thread`) | ❌ | Not supported yet on this PSOC™ Edge port. | +| CAN library | ❌ | Explicitly skipped for this board. | +| Ethernet library | ❌ | Explicitly skipped for this board. | +| RTC library | ❌ | Explicitly skipped for this board. | +| WiFi library | ❌ | Explicitly skipped for this board. | + +## Known Scope And Limits + +- This is an early PSOC™ Edge port focused on enabling core Arduino workflows on Zephyr. +- API compatibility is incomplete and may change between releases. +- Some subsystems compile but are not yet fully validated on KIT-PSE84-AI. + +## Contributing And Feedback + +Feedback and collaboration are highly encouraged. + +- Report bugs and request features in [Issues](/../../issues) +- Submit fixes through [Pull Requests](/../../pulls) +- Ask questions and discuss roadmap in [Discussions](/../../discussions) + +When reporting issues, please include: + +- Board and host OS +- Core version +- Minimal sketch to reproduce +- Full build/upload logs + +## Development Notes + +This core uses Zephyr plus a board-specific loader. Sketches are built as loadable artifacts and executed by the preflashed loader firmware. + +- Loader and boot integration: [loader](loader) +- Core implementation: [cores/arduino](cores/arduino) +- PSOC™ Edge E84 variant files: [variants/kit_pse84_ai_pse846gps2dbzc4a_m33](variants/kit_pse84_ai_pse846gps2dbzc4a_m33) + +Key implementation areas in this repository: + +- Board definition and upload tooling: [boards.txt](boards.txt) +- Variant for KIT-PSE84-AI: [variants/kit_pse84_ai_pse846gps2dbzc4a_m33](variants/kit_pse84_ai_pse846gps2dbzc4a_m33) +- Core implementation: [cores/arduino](cores/arduino) + +If you are extending support, start by validating small samples first (for example blinky, hello, threads) and then move to subsystem-specific libraries. ## Installation & Usage in Arduino CLI @@ -124,6 +227,13 @@ Contributions are welcome through [Pull Requests](/../../pulls). Please refer to ### Common Issues + + #### `llext` Undefined Symbol Errors If upload succeeds but execution fails with an `Undefined symbol` error, the sketch is using a symbol not exported by the loader image for this build. @@ -133,5 +243,279 @@ If upload succeeds but execution fails with an `Undefined symbol` error, the ske --- +#### **Q: My Sketch doesn't start (Serial doesn't appear)** +**A:** Connect a USB-to-UART adapter to the default UART (eg. TX0/RX0 on Giga, TX/RX on Nano) and read the error message (with the sketch compiled in `Default` mode). If you don't own a USB-to-UART adapter, compile the sketch in `Debug` mode; this will force the shell to wait until you open the Serial Monitor. Then, run `sketch` command and *probably* you'll be able to read the error (if generated by `llext`). For OS crashes, the USB-to-UART adapter is the only way to collect the crash. + +If upload succeeds but execution fails with an `Undefined symbol` error, the sketch is using a symbol not exported by the loader image for this build. + +- Rebuild and flash the bootloader for this board. +- If needed, extend exported symbols in loader integration sources and rebuild. + +--- + #### **Q: I get an OS crash, like ` os: ***** USAGE FAULT *****`** -**A:** This is usually due to a buffer overflow or coding error in the user's own code. However, since the project is still in beta 🧪, a [good bug report](/../../issues) could help identify any issues in our code. +**A:** This is usually due to a buffer overflow or coding error in the user's own code. However, since the project is still in beta 🧪, a [good bug report](#-bug-reporting) could help identify any issues in our code. + +--- + +#### **Q: I get an out of memory error** +**A:** Since collecting bug reports is very important at this time, we are keeping Zephyr's shell enabled to allow loading a full sketch (which requires a large stack). Adjust your board's `.conf` file to reduce the stack size if your platform doesn't have enough RAM. + +--- + +#### **Q: I get a compilation error during library detection, but the mentioned libraries are installed** +**A:** If you have installed the core locally in your Arduino sketchbook, make sure the Zephyr core is installed in a folder named `zephyr` (`${sketchbook}/hardware/arduino-git/zephyr`). +See the [Using the Core in Arduino IDE/CLI](#using-the-core-in-arduino-idecli) section for further details on the installation. + +--- + +#### **Q: Wi-Fi is not working, or I get `Communication with WiFi module failed!` in the Serial Monitor** +**A:** You are probably missing the Wi-Fi firmware, or the firmware is corrupted. Boards should come with the Wi-Fi firmware already flashed, but in case Wi-Fi is not working run the [`FlashFormat`](libraries/Storage/examples/FlashFormat/FlashFormat.ino) sketch to restore the firmware. + +## 🧢 Under the hood + +Unlike traditional Arduino implementations, where the final output is a standalone binary loaded by a bootloader, this core generates a freestanding `elf` file. This file is dynamically loaded by a precompiled Zephyr firmware, referred to as the `loader`. + +The `loader` is responsible for managing the interaction between your sketches and the underlying Zephyr system. After the initial bootloader installation, the `loader` takes over the sketch loading process automatically. + +To ensure flexibility, the `loader` project is designed to be generic. Any necessary modifications for specific boards should be made in the corresponding "DTS overlay" or a special "fixup" file, using appropriate guards to maintain compatibility. + +The behavior of the `loader` can be adjusted through the `Mode` menu of the IDE: +- `Standard`: The sketch is loaded automatically. +- `Debug`: The user must type `sketch` in Zephyr's shell, which is accessible via the default Serial. + +The most important components of this project are: + +* [Zephyr based loader](/loader) +* [LLEXT](https://docs.zephyrproject.org/latest/services/llext/index.html) +* [Actual core](/cores/arduino) with [variants](/variants) and the usual [platform](/platform.txt) and [boards](/boards) files +* [ArduinoCore-API](https://github.com/arduino/ArduinoCore-API) +* [zephyr-sketch-tool](/tools/zephyr-sketch-tool) + +## 🏃 Shortcut: using the Core in Arduino IDE/CLI without installing Zephyr + +> [!TIP] +> +> If you are only interested in developing features in the [core](/cores/arduino) +> or [libraries](/libraries), and do not want to set up a full Zephyr build +> environment, you can use the [`sync-zephyr-artifacts`](/extra/sync-zephyr-artifacts) +> utility to download a pre-built version of the files needed to compile +> sketches and flash the loader. +> +> To do so, after cloning this repo, compile the `sync-zephyr-artifacts` +> utility via `go build` and run it as `sync-zephyr-artifacts .` to retrieve +> the precompiled files for the current revision of the core. +> +> Next, follow the instructions in [Using the Core in Arduino IDE/CLI](#using-the-core-in-arduino-idecli) +> or [Using the Core in the Arduino App Lab](#using-the-core-in-the-arduino-app-lab) +> to start using the core in your preferred Arduino software. +> Remember to [update the loader on your board](#flash-the-loader) as well. + +## 🛠️ Setup a Zephyr build environment + +> [!WARNING] +> If you checked out this repo before 0.3.2 was released, please note that +> development has switched to the `main` branch; the old `arduino` branch will +> be removed in the short future. Please follow this +> [migration guide](https://github.com/arduino/ArduinoCore-zephyr/issues/163) +> to update your local branches and outstanding PRs. + +In this section, we’ll guide you through setting up your environment to work on and update the Zephyr core. + +Shell scripts are available to simplify the installation process (Windows is not directly supported at the moment 😔, but there are some tricks - see below). + +### Pre-requirements +Before running the installation script, ensure that Python, `pip` and `venv` are installed on your system. The script will automatically install `west` and manage the necessary dependencies. + +#### On Ubuntu or similar apt-based distros +```bash +sudo apt install python3-pip python3-setuptools python3-venv build-essential git cmake ninja-build zstd jq rsync +``` +#### On macOS +Make sure you have Homebrew installed. Then run: + +```bash +# Install Xcode Command Line Tools (needed for compilers and make) +xcode-select --install + +# Install required tools and libraries +brew install python cmake ninja zstd jq git +``` +Note: Homebrew’s Python installation already includes `pip`, `setuptools` and `venv`. + +#### On Windows +Building natively on Windows is not currently supported; however, it is possible to setup and build the loader using [WSL](https://learn.microsoft.com/windows/wsl/about). Once you have that installed, you will need to follow these instructions as if you had Ubuntu. + +There are two strategies to set up the sources for building the loader on Windows: +1) Install the sources in the native Windows filesystem (NTFS, FAT32, etc) and within WSL, cd to the root directory where you installed your sources, like: `/mnt/d/github/ArduinoCore-zephyr`. +2) Install the sources within the WSL file system, like: `~/git/ArduinoCore-zephyr` + +There are pros and cons to both strategies: +1) Builds on the native Windows file system are relatively very slow, but once done, you can use the results directly within the Arduino IDE. +2) Builds on WSL's file system are a lot faster, however, you need to copy the resulting build back to somewhere in your Windows directory structure. Use this location in the Arduino IDE as mentioned below in the [Using the Core in Arduino IDE/CLI](#using-the-core-in-arduino-idecli) section. + +After `bootstrap.sh` has completed, you may also have to update the `cores\arduino\api` link to the path of the ArduinoCore-API's `api` folder. + +### Clone the repository +```bash +mkdir my_new_zephyr_folder && cd my_new_zephyr_folder +git clone https://github.com/arduino/ArduinoCore-zephyr +``` + +### Run the ```bootstrap``` script +```bash +cd ArduinoCore-zephyr +./extra/bootstrap.sh +``` + +This will take care of installing `west`, the Zephyr build tool. It will then +download all packages required for a Zephyr build in addition to the toolchains +in the Zephyr SDK. + +> [!NOTE] +> This core is validated with version v0.16.8 of the SDK. Compatibility with later versions has not been tested yet. + +## 🛠️ Regenerate the compiled core files + +### Build the Loader + +The loader is compiled for each board by running the `./extra/build.sh` script. +The target can be specified either with the Arduino board name (as defined in +boards.txt), or with the Zephyr board name and any additional arguments that +may be required by the Zephyr build system. + +For example, to build for the Arduino Portenta H7, you can use either the +Arduino name: +```bash +./extra/build.sh portentah7 +``` + +or the Zephyr board target: + +```bash +./extra/build.sh arduino_portenta_h7//m7 +``` + +The firmwares will be copied to the [firmware](/firmware) folder, and the +associated variant will be updated. + +### Flash the Loader + +To flash the loader, run: + +```bash +west flash -d build/ +``` + +The `` appears in the build output when you run the build script. For example: + +```bash +% ./extra/build.sh portentah7 + +Build target: arduino_portenta_h7@1.0.0//m7 +Build variant: arduino_portenta_h7_stm32h747xx_m7 +-- west build: generating a build system +... +``` + +In this case, you would flash with: +```bash +west flash -d build/arduino_portenta_h7_stm32h747xx_m7 +``` + +This can also be performed via the "Burn bootloader" action in the IDE if the core is properly installed, as detailed below. + +### Using the Core in Arduino IDE/CLI + +After running the `bootstrap.sh` script, you can create a symlink from the +`ArduinoCore-zephyr` folder to `${sketchbook}/hardware/arduino-git/zephyr`, +or manually copy the whole folder to that location. + +> [!IMPORTANT] +> Make sure the final location of the `boards.txt` file is exactly +> `${sketchbook}/hardware/arduino-git/zephyr/boards.txt`. +> +> The `zephyr` folder name above is used as part of the FQBN architecture +> (`packager:architecture:board`) and is considered for library +> compatibility checks. +> Using a different architecture folder name may result in: +> - an unsupported FQBN (e.g. `arduino-git:wrong_zephyr_folder:unoq`) +> - architecture-specific libraries (e.g. `architectures=zephyr`) not being selected + +Once this is done, your development folder will appear in the IDE/CLI package +list as `arduino-git:zephyr`, and the Fully Qualified Board Name (FQBN) to use +will be `arduino-git:zephyr:name_from_boards_txt`. + +Remember to also install and/or update the officially published core in the IDE Board Manager to get the latest tools and dependencies. +[⚙️ Installation](#️-installation). + +### Using the Core in the Arduino App Lab + +> [!WARNING] +> Arduino App Lab expects a hardcoded FQBN (`arduino:zephyr:unoq` for the UNO Q), so the [technique used for Arduino IDE/CLI](#using-the-core-in-arduino-idecli) **does not** work. A small workaround is required. + +1. Disable the release core + +```bash +mv ~/.arduino15/packages/arduino/hardware/zephyr ~/.arduino15/packages/arduino/hardware/zephyr.disable +``` +This ensures the installation of the development version of the core will be used instead of the release installation. + +2. Install your custom core + +Place your custom core in the following path: +```bash +~/Arduino/hardware/arduino/zephyr +``` + +3. Flash the new loader + +Build and flash the loader from your custom core to overwrite the release version. +For example, on UNO Q: +```bash +arduino-cli burn-bootloader -b arduino:zephyr:unoq -P jlink +``` + +#### Revert to release core + +If you want to use the official core again, change the directory names so the one in `~/.arduino15` is `zephyr`, and the one in your sketchbook's hardware folder is `zephyr.disable`: +```bash +mv ~/.arduino15/packages/arduino/hardware/zephyr.disable ~/.arduino15/packages/arduino/hardware/zephyr +mv ~/Arduino/hardware/arduino/zephyr ~/Arduino/hardware/arduino/zephyr.disable +``` + +## 🚀 Adding a new target + +> [!TIP] +> +> While Zephyr supports a lot of different hardware targets, only the few +> currently used by the Arduino core are installed by default. To add the +> support for every Zephyr target to your workspace, run the following +> commands: +> +> ```bash +> . venv/bin/activate +> west config -d manifest.project-filter +> west sdk install --version 0.17.0 +> west update +> ``` + +To add a new board that is already supported by mainline Zephyr with the target `$your_board`, follow these steps: + +* Get the variant name from your board by running `extra/get_variant_name.sh $your_board`. +* Create a folder in the [`variants/`](/variants) directory with the same name as the variant for your new board. +* Create the DTS `.overlay` and Kconfig `.conf` files in that directory. + + The overlay must include: + * A flash partition called `user_sketch`, typically located near the end of the flash. + * A `zephyr,user` section containing the description for GPIOs, Analog, UART, SPI and I2C devices. Feel free to leave some fields empty in case Zephyr support is missing. This will result in some APIs not being available at runtime (eg. `analogWrite` if PWM section is empty). + + The Kconfig file must include any board-specific options required by this target. +* Build the Loader: run `./extra/build.sh $your_board` (with any additional arguments as required) and start debugging the errors. :grin: +* Update the `boards.txt`: add an entry for your board, manually filling the required fields. + + Make sure to set: + * `build.zephyr_target` and `build.zephyr_args` to the arguments used in the `build.sh` call; + * `build.zephyr_hals` to the (space-separated list of) HAL modules required by the board; + * `build.variant` to the variant name identified above. +* Implement touch support: if your board supports the "1200bps touch" method, implement `_on_1200_bps` in a file located inside the variant folder of your board. diff --git a/api_support_tracking.md b/api_support_tracking.md index f717596f6..d57f02d94 100644 --- a/api_support_tracking.md +++ b/api_support_tracking.md @@ -32,7 +32,7 @@ | `shiftOut()` | Digital GPIO | ⚠️ | | **Time** | | | | `delay()` | Timing | ✅ | -| `delayMicroseconds()` | Timing | ⚠️ | +| `delayMicroseconds()` | Timing | ✅ | | `millis()` | Timing | ✅ | | `micros()` | Timing | ✅ | | **Math** | | | @@ -63,23 +63,23 @@ | `isUpperCase()` | Characters | ⚠️ | | `isWhitespace()` | Characters | ⚠️ | | **Random Numbers** | | | -| `random()` | Random | ⚠️ | -| `randomSeed()` | Random | ⚠️ | +| `random()` | Random | ✅ | +| `randomSeed()` | Random | ✅ | | **Bits and Bytes** | | | -| `bit()` | Bits & Bytes | ⚠️ | -| `bitClear()` | Bits & Bytes | ⚠️ | -| `bitRead()` | Bits & Bytes | ⚠️ | -| `bitSet()` | Bits & Bytes | ⚠️ | -| `bitWrite()` | Bits & Bytes | ⚠️ | -| `highByte()` | Bits & Bytes | ⚠️ | -| `lowByte()` | Bits & Bytes | ⚠️ | +| `bit()` | Bits & Bytes | ✅ | +| `bitClear()` | Bits & Bytes | ✅ | +| `bitRead()` | Bits & Bytes | ✅ | +| `bitSet()` | Bits & Bytes | ✅ | +| `bitWrite()` | Bits & Bytes | ✅ | +| `highByte()` | Bits & Bytes | ✅ | +| `lowByte()` | Bits & Bytes | ✅ | | **External Interrupts** | | | | `attachInterrupt()` | Interrupts | ✅ | | `detachInterrupt()` | Interrupts | ✅ | | `digitalPinToInterrupt()` | Interrupts | ✅ | | **Interrupts** | | | -| `interrupts()` | Interrupts | ⚠️ | -| `noInterrupts()` | Interrupts | ⚠️ | +| `interrupts()` | Interrupts | ✅ | +| `noInterrupts()` | Interrupts | ✅ | | **Stream** | | | | `available()` | Serial / UART | ⚠️ | | `read()` | Serial / UART | ⚠️ | @@ -98,7 +98,7 @@ | `if(Serial)` | Serial / UART | ⚠️ | | `Serial1` / `Serial2` | Serial / UART | ⚠️ | | USB Serial | Serial / UART | ⚠️ | -| `Serial.available()` | Serial / UART | ⚠️ | +| `Serial.available()` | Serial / UART | ✅ | | `Serial.availableForWrite()` | Serial / UART | ⚠️ | | `Serial.begin()` | Serial / UART | ✅ | | `Serial.end()` | Serial / UART | ⚠️ | @@ -110,13 +110,13 @@ | `Serial.peek()` | Serial / UART | ⚠️ | | `Serial.print()` | Serial / UART | ✅ | | `Serial.println()` | Serial / UART | ✅ | -| `Serial.read()` | Serial / UART | ⚠️ | +| `Serial.read()` | Serial / UART | ✅ | | `Serial.readBytes()` | Serial / UART | ⚠️ | | `Serial.readBytesUntil()` | Serial / UART | ⚠️ | | `Serial.readString()` | Serial / UART | ⚠️ | | `Serial.readStringUntil()` | Serial / UART | ⚠️ | | `Serial.setTimeout()` | Serial / UART | ⚠️ | -| `Serial.write()` | Serial / UART | ⚠️ | +| `Serial.write()` | Serial / UART | ✅ | | `Serial.serialEvent()` | Serial / UART | ⚠️ | | **SPI** | | | | `SPI` | SPI | ❌ | diff --git a/boards.txt b/boards.txt index 0053aafb3..dc9c82563 100644 --- a/boards.txt +++ b/boards.txt @@ -22,647 +22,754 @@ menu.wait_linux_boot=Startup mode ########################################################################################## -giga.name=Arduino Giga R1 -giga.build.core=arduino -giga.build.crossprefix=arm-zephyr-eabi- -giga.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ +# giga.menu.link_mode.dynamic=Dynamic +# giga.menu.link_mode.static=Static +# giga.menu.link_mode.static.build.link_mode=static +# giga.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# giga.build.zephyr_target=arduino_giga_r1//m7 +# giga.build.zephyr_args=--shield arduino_giga_display_shield +# giga.build.zephyr_hals=hal_stm32 hal_infineon +# giga.build.variant=arduino_giga_r1_stm32h747xx_m7 +# giga.build.artifact=zephyr_main +# +# giga.build.extra_flags= +# giga.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# giga.build.board=GIGA +# giga.vid.0=0x2341 +# giga.pid.0=0x0066 +# giga.upload_port.0.vid=0x2341 +# giga.upload_port.0.pid=0x0066 +# +# giga.upload.tool=dfu-util +# giga.upload.tool.default=dfu-util +# giga.upload.protocol= +# giga.upload.transport= +# giga.upload.vid=0x2341 +# giga.upload.pid=0x0366 +# giga.upload.interface=0 +# giga.upload.use_1200bps_touch=true +# giga.upload.wait_for_upload_port=true +# giga.upload.native_usb=true +# +# giga.bootloader.tool=dfu-util +# giga.bootloader.tool.default=dfu-util +# giga.bootloader.vid=0x2341 +# giga.bootloader.pid=0x0366 +# giga.bootloader.interface=0 +# giga.bootloader.file=zephyr-{build.variant}.bin +# giga.bootloader.address=0x08040000 +# +# giga.debug.tool=gdb +# giga.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg +# giga.debug.server.openocd.scripts.1={programmer.transport_script} +# giga.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg +# giga.debug.cortex-debug.custom.request=attach +# giga.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd +# +# ########################################################################################## +# +# nano33ble.name=Arduino Nano 33 BLE +# nano33ble.build.core=arduino +# nano33ble.build.crossprefix=arm-zephyr-eabi- +# nano33ble.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# nano33ble.menu.debug.false=Standard +# nano33ble.menu.debug.true=Debug +# nano33ble.menu.debug.true.build.zsk_args.debug=-debug +# +# nano33ble.menu.link_mode.dynamic=Dynamic +# nano33ble.menu.link_mode.static=Static +# nano33ble.menu.link_mode.static.build.link_mode=static +# nano33ble.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# nano33ble.build.zephyr_target=arduino_nano_33_ble//sense +# nano33ble.build.zephyr_args= +# nano33ble.build.zephyr_hals=hal_nordic +# nano33ble.build.artifact=zephyr_main +# nano33ble.build.variant=arduino_nano_33_ble_nrf52840_sense +# +# nano33ble.build.extra_flags= +# nano33ble.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# nano33ble.build.board=NANO33BLE +# nano33ble.vid.0=0x2341 +# nano33ble.pid.0=0x035a +# nano33ble.upload_port.0.vid=0x2341 +# nano33ble.upload_port.0.pid=0x005a +# +# nano33ble.upload.tool=bossac +# nano33ble.upload.tool.default=bossac +# nano33ble.upload.protocol= +# nano33ble.upload.transport= +# nano33ble.upload.vid=0x2341 +# nano33ble.upload.pid=0x005a +# nano33ble.upload.interface=0 +# nano33ble.upload.use_1200bps_touch=true +# nano33ble.upload.wait_for_upload_port=true +# nano33ble.upload.native_usb=true +# nano33ble.upload.offset=0x10000 # bootloader skips its own partition +# +# nano33ble.bootloader.tool=bossac +# nano33ble.bootloader.tool.default=bossac +# nano33ble.bootloader.vid=0x2341 +# nano33ble.bootloader.pid=0x035b +# nano33ble.bootloader.interface=0 +# nano33ble.bootloader.file=zephyr-{build.variant}.bin +# nano33ble.bootloader.address=0x0000 +# +# nano33ble.debug.tool=gdb +# nano33ble.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg +# nano33ble.debug.server.openocd.scripts.1={programmer.transport_script} +# nano33ble.debug.server.openocd.scripts.2=target/nrf52.cfg +# nano33ble.debug.cortex-debug.custom.request=attach +# +# ############################################################################################################## +# +# ek_ra8d1.name=Renesas RA8D1 EK +# ek_ra8d1.build.core=arduino +# ek_ra8d1.build.crossprefix=arm-zephyr-eabi- +# ek_ra8d1.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# ek_ra8d1.menu.debug.false=Standard +# ek_ra8d1.menu.debug.true=Debug +# ek_ra8d1.menu.debug.true.build.zsk_args.debug=-debug +# +# ek_ra8d1.menu.link_mode.dynamic=Dynamic +# ek_ra8d1.menu.link_mode.static=Static +# ek_ra8d1.menu.link_mode.static.build.link_mode=static +# ek_ra8d1.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# ek_ra8d1.build.zephyr_target=ek_ra8d1 +# ek_ra8d1.build.zephyr_args= +# ek_ra8d1.build.zephyr_hals=hal_renesas +# ek_ra8d1.build.variant=ek_ra8d1_r7fa8d1bhecbd +# +# ek_ra8d1.build.extra_flags= +# ek_ra8d1.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# ek_ra8d1.build.board=EK_RA8D1 +# +# #ek_ra8d1.recipe.hooks.objcopy.postobjcopy.4.pattern=cp {build.variant.path}/flasher.jlink "{build.path}/flasher.jlink" +# #ek_ra8d1.recipe.hooks.objcopy.postobjcopy.5.pattern=sed -i 's|SKETCH|"{build.path}/{build.project_name}.llext.dfu.bin"|g' "{build.path}/flasher.jlink" +# +# ek_ra8d1.vid.0=0x2341 +# ek_ra8d1.pid.0=0x0077 +# ek_ra8d1.upload_port.0.vid=0x2341 +# ek_ra8d1.upload_port.0.pid=0x0077 +# +# ek_ra8d1.upload.tool=pyocd +# ek_ra8d1.upload.tool.default=pyocd +# ek_ra8d1.upload.protocol= +# ek_ra8d1.upload.transport= +# ek_ra8d1.upload.vid=0x2341 +# ek_ra8d1.upload.pid=0x0366 +# ek_ra8d1.upload.interface=0 +# ek_ra8d1.upload.use_1200bps_touch=false +# ek_ra8d1.upload.wait_for_upload_port=false +# ek_ra8d1.upload.native_usb=true +# ek_ra8d1.upload.target=R7FA8D1AH +# +# ek_ra8d1.bootloader.tool=pyocd +# ek_ra8d1.bootloader.tool.default=pyocd +# ek_ra8d1.bootloader.file=zephyr-{build.variant}.elf +# ek_ra8d1.bootloader.target=R7FA8D1AH +# +# +# ############################################################################################################## +# +# frdm_mcxn947.name=NXP FRDM MCXN947 +# frdm_mcxn947.build.core=arduino +# frdm_mcxn947.build.crossprefix=arm-zephyr-eabi- +# frdm_mcxn947.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# frdm_mcxn947.menu.debug.false=Standard +# frdm_mcxn947.menu.debug.true=Debug +# frdm_mcxn947.menu.debug.true.build.zsk_args.debug=-debug +# +# frdm_mcxn947.menu.link_mode.dynamic=Dynamic +# frdm_mcxn947.menu.link_mode.static=Static +# frdm_mcxn947.menu.link_mode.static.build.link_mode=static +# frdm_mcxn947.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# frdm_mcxn947.build.zephyr_target=frdm_mcxn947//cpu0 +# frdm_mcxn947.build.zephyr_args= +# frdm_mcxn947.build.zephyr_hals=hal_nxp +# frdm_mcxn947.build.variant=frdm_mcxn947_mcxn947_cpu0 +# +# frdm_mcxn947.build.extra_flags= +# frdm_mcxn947.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# frdm_mcxn947.build.board=FRDM_MCXN947 +# frdm_mcxn947.vid.0=0x1fc9 +# frdm_mcxn947.pid.0=0x0143 +# frdm_mcxn947.upload_port.0.vid=0x1fc9 +# frdm_mcxn947.upload_port.0.pid=0x0143 +# frdm_mcxn947.upload.target=mcxn947vdf +# +# frdm_mcxn947.upload.tool=pyocd +# frdm_mcxn947.upload.tool.default=pyocd +# frdm_mcxn947.upload.protocol= +# frdm_mcxn947.upload.transport= +# frdm_mcxn947.upload.vid=0x1fc9 +# frdm_mcxn947.upload.pid=0x0143 +# frdm_mcxn947.upload.interface=0 +# frdm_mcxn947.upload.use_1200bps_touch=false +# frdm_mcxn947.upload.wait_for_upload_port=false +# frdm_mcxn947.upload.native_usb=true +# +# frdm_mcxn947.bootloader.tool=pyocd +# frdm_mcxn947.bootloader.tool.default=pyocd +# frdm_mcxn947.bootloader.file=zephyr-{build.variant}.elf +# frdm_mcxn947.bootloader.target=mcxn947vdf +# +# +# ########################################################################################## +# +# portentah7.name=Arduino Portenta H7 +# portentah7.build.core=arduino +# portentah7.build.crossprefix=arm-zephyr-eabi- +# portentah7.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# portentah7.menu.debug.false=Standard +# portentah7.menu.debug.true=Debug +# portentah7.menu.debug.true.build.zsk_args.debug=-debug +# +# portentah7.menu.link_mode.dynamic=Dynamic +# portentah7.menu.link_mode.static=Static +# portentah7.menu.link_mode.static.build.link_mode=static +# portentah7.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# portentah7.build.zephyr_target=arduino_portenta_h7@1.0.0//m7 +# portentah7.build.zephyr_args= +# portentah7.build.zephyr_hals=hal_stm32 hal_infineon +# portentah7.build.artifact=zephyr_main +# portentah7.build.variant=arduino_portenta_h7_stm32h747xx_m7 +# +# portentah7.build.extra_flags= +# portentah7.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# portentah7.build.board=PORTENTA_H7_M7 +# portentah7.vid.0=0x2341 +# portentah7.pid.0=0x005b +# portentah7.upload_port.0.vid=0x2341 +# portentah7.upload_port.0.pid=0x035b +# +# portentah7.upload.tool=dfu-util +# portentah7.upload.tool.default=dfu-util +# portentah7.upload.protocol= +# portentah7.upload.transport= +# portentah7.upload.vid=0x2341 +# portentah7.upload.pid=0x035b +# portentah7.upload.interface=0 +# portentah7.upload.use_1200bps_touch=true +# portentah7.upload.wait_for_upload_port=true +# portentah7.upload.native_usb=true +# +# portentah7.bootloader.tool=dfu-util +# portentah7.bootloader.tool.default=dfu-util +# portentah7.bootloader.vid=0x2341 +# portentah7.bootloader.pid=0x035b +# portentah7.bootloader.interface=0 +# portentah7.bootloader.file=zephyr-{build.variant}.bin +# portentah7.bootloader.address=0x08040000 +# +# portentah7.debug.tool=gdb +# portentah7.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg +# portentah7.debug.server.openocd.scripts.1={programmer.transport_script} +# portentah7.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg +# portentah7.debug.cortex-debug.custom.request=attach +# portentah7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd +# +# ############################################################################################################## +# +# nicla_vision.name=Arduino Nicla Vision +# nicla_vision.build.core=arduino +# nicla_vision.build.crossprefix=arm-zephyr-eabi- +# nicla_vision.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# nicla_vision.menu.debug.false=Standard +# nicla_vision.menu.debug.true=Debug +# nicla_vision.menu.debug.true.build.zsk_args.debug=-debug +# +# nicla_vision.menu.link_mode.dynamic=Dynamic +# nicla_vision.menu.link_mode.static=Static +# nicla_vision.menu.link_mode.static.build.link_mode=static +# nicla_vision.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# nicla_vision.build.zephyr_target=arduino_nicla_vision//m7 +# nicla_vision.build.zephyr_args= +# nicla_vision.build.zephyr_hals=hal_stm32 hal_infineon +# nicla_vision.build.artifact=zephyr_main +# nicla_vision.build.variant=arduino_nicla_vision_stm32h747xx_m7 +# +# nicla_vision.build.extra_flags= +# nicla_vision.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# nicla_vision.build.board=NICLA_VISION +# nicla_vision.vid.0=0x2341 +# nicla_vision.pid.0=0x005b +# nicla_vision.upload_port.0.vid=0x2341 +# nicla_vision.upload_port.0.pid=0x025f +# +# nicla_vision.upload.tool=dfu-util +# nicla_vision.upload.tool.default=dfu-util +# nicla_vision.upload.protocol= +# nicla_vision.upload.transport= +# nicla_vision.upload.vid=0x2341 +# nicla_vision.upload.pid=0x035f +# nicla_vision.upload.interface=0 +# nicla_vision.upload.use_1200bps_touch=true +# nicla_vision.upload.wait_for_upload_port=true +# nicla_vision.upload.native_usb=true +# +# nicla_vision.bootloader.tool=dfu-util +# nicla_vision.bootloader.tool.default=dfu-util +# nicla_vision.bootloader.vid=0x2341 +# nicla_vision.bootloader.pid=0x035f +# nicla_vision.bootloader.interface=0 +# nicla_vision.bootloader.file=zephyr-{build.variant}.bin +# nicla_vision.bootloader.address=0x08040000 +# +# nicla_vision.debug.tool=gdb +# nicla_vision.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg +# nicla_vision.debug.server.openocd.scripts.1={programmer.transport_script} +# nicla_vision.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg +# nicla_vision.debug.cortex-debug.custom.request=attach +# nicla_vision.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd +# +# ############################################################################################################## +# +# frdm_rw612.name=NXP FRDM RW612 +# frdm_rw612.build.core=arduino +# frdm_rw612.build.crossprefix=arm-zephyr-eabi- +# frdm_rw612.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# frdm_rw612.menu.debug.false=Standard +# frdm_rw612.menu.debug.true=Debug +# frdm_rw612.menu.debug.true.build.zsk_args.debug=-debug +# +# frdm_rw612.menu.link_mode.dynamic=Dynamic +# frdm_rw612.menu.link_mode.static=Static +# frdm_rw612.menu.link_mode.static.build.link_mode=static +# frdm_rw612.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# frdm_rw612.build.zephyr_target=frdm_rw612 +# frdm_rw612.build.zephyr_args= +# frdm_rw612.build.zephyr_hals=hal_stm32 +# frdm_rw612.build.variant=frdm_rw612_rw612 +# +# frdm_rw612.build.extra_flags= +# frdm_rw612.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# frdm_rw612.build.board=FRDM_RW612 +# frdm_rw612.vid.0=0x1fc9 +# frdm_rw612.pid.0=0x0143 +# frdm_rw612.upload_port.0.vid=0x1fc9 +# frdm_rw612.upload_port.0.pid=0x0143 +# frdm_rw612.upload.target=rw612 +# +# frdm_rw612.upload.tool=pyocd +# frdm_rw612.upload.tool.default=pyocd +# frdm_rw612.upload.protocol= +# frdm_rw612.upload.transport= +# frdm_rw612.upload.vid=0x1fc9 +# frdm_rw612.upload.pid=0x0143 +# frdm_rw612.upload.interface=0 +# frdm_rw612.upload.use_1200bps_touch=false +# frdm_rw612.upload.wait_for_upload_port=false +# frdm_rw612.upload.native_usb=true +# +# frdm_rw612.bootloader.tool=pyocd +# frdm_rw612.bootloader.tool.default=pyocd +# frdm_rw612.bootloader.file=zephyr-{build.variant}.elf +# frdm_rw612.bootloader.target=rw612 +# +# ########################################################################################## +# +# nicla_sense.name=Arduino Nicla Sense ME +# nicla_sense.build.core=arduino +# nicla_sense.build.crossprefix=arm-zephyr-eabi- +# nicla_sense.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# nicla_sense.menu.link_mode.dynamic=Dynamic +# nicla_sense.menu.link_mode.static=Static +# nicla_sense.menu.link_mode.static.build.link_mode=static +# nicla_sense.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# nicla_sense.build.zephyr_target=arduino_nicla_sense_me +# nicla_sense.build.zephyr_args= +# nicla_sense.build.zephyr_hals=hal_nordic +# nicla_sense.build.artifact=zephyr_main +# nicla_sense.build.variant=arduino_nicla_sense_me_nrf52832 +# +# nicla_sense.openocd_cfg=flash_sketch.cfg +# nicla_sense.build.extra_flags= +# nicla_sense.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# nicla_sense.build.board=NICLA_SENSE_ME +# nicla_sense.vid.0=0x2341 +# nicla_sense.pid.0=0x0360 +# nicla_sense.upload_port.0.vid=0x2341 +# nicla_sense.upload_port.0.pid=0x0060 +# +# nicla_sense.upload.tool=openocd +# nicla_sense.upload.tool.default=openocd +# nicla_sense.upload.protocol= +# nicla_sense.upload.config=-f target/nrf52.cfg +# nicla_sense.upload.programmer=-f interface/cmsis-dap.cfg +# nicla_sense.upload.vid=0x2341 +# nicla_sense.upload.pid=0x0060 +# nicla_sense.upload.interface=0 +# nicla_sense.upload.use_1200bps_touch=false +# nicla_sense.upload.wait_for_upload_port=false +# nicla_sense.upload.native_usb=false +# nicla_sense.upload.target=nrf52 +# +# nicla_sense.bootloader.tool=openocd +# nicla_sense.bootloader.tool.default=openocd +# nicla_sense.bootloader.vid=0x2341 +# nicla_sense.bootloader.pid=0x0360 +# nicla_sense.bootloader.interface=0 +# nicla_sense.bootloader.file=zephyr-{build.variant}.hex +# nicla_sense.bootloader.target=nrf52 +# +# nicla_sense.debug.tool=gdb +# nicla_sense.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg +# nicla_sense.debug.server.openocd.scripts.1={programmer.transport_script} +# nicla_sense.debug.server.openocd.scripts.2=target/nrf52.cfg +# nicla_sense.debug.cortex-debug.custom.request=attach +# +# +# ########################################################################################## +# +# portentac33.name=Arduino Portenta C33 +# portentac33.build.core=arduino +# portentac33.build.crossprefix=arm-zephyr-eabi- +# portentac33.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# portentac33.menu.debug.false=Standard +# portentac33.menu.debug.true=Debug +# portentac33.menu.debug.true.build.zsk_args.debug=-debug +# +# portentac33.menu.link_mode.dynamic=Dynamic +# portentac33.menu.link_mode.static=Static +# portentac33.menu.link_mode.static.build.link_mode=static +# portentac33.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# portentac33.build.zephyr_target=arduino_portenta_c33 +# portentac33.build.zephyr_args= +# portentac33.build.zephyr_hals=hal_renesas nanopb +# portentac33.build.artifact=zephyr_main +# portentac33.build.variant=arduino_portenta_c33_r7fa6m5bh3cfc +# +# portentac33.build.extra_flags= +# portentac33.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# portentac33.build.board=PORTENTA_C33 +# portentac33.vid.0=0x2341 +# portentac33.pid.0=0x0068 +# portentac33.upload_port.0.vid=0x2341 +# portentac33.upload_port.0.pid=0x0068 +# portentac33.upload.target=portentac33 +# +# portentac33.upload.tool=dfu-util +# portentac33.upload.tool.default=dfu-util +# portentac33.upload.protocol= +# portentac33.upload.transport= +# portentac33.upload.vid=0x2341 +# portentac33.upload.pid=0x0368 +# portentac33.upload.interface=1 +# portentac33.upload.use_1200bps_touch=true +# portentac33.upload.wait_for_upload_port=false +# portentac33.upload.native_usb=true +# portentac33.upload.dfuse=-Q -w +# +# portentac33.bootloader.tool=dfu-util +# portentac33.bootloader.tool.default=dfu-util +# portentac33.bootloader.file=zephyr-{build.variant}.bin +# portentac33.bootloader.interface=0 +# portentac33.bootloader.address=0x10000 +# portentac33.bootloader.dfuse=-Q +# +# ########################################################################################## +# +# opta.name=Arduino Opta +# opta.build.core=arduino +# opta.build.crossprefix=arm-zephyr-eabi- +# opta.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# opta.menu.debug.false=Standard +# opta.menu.debug.true=Debug +# opta.menu.debug.true.build.zsk_args.debug=-debug +# +# opta.menu.link_mode.dynamic=Dynamic +# opta.menu.link_mode.static=Static +# opta.menu.link_mode.static.build.link_mode=static +# opta.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# opta.build.zephyr_target=arduino_opta//m7 +# opta.build.zephyr_args= +# opta.build.zephyr_hals=hal_stm32 hal_infineon +# opta.build.artifact=zephyr_main +# opta.build.variant=arduino_opta_stm32h747xx_m7 +# +# opta.build.extra_flags= +# opta.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# opta.build.board=OPTA +# opta.vid.0=0x2341 +# opta.pid.0=0x0064 +# opta.upload_port.0.vid=0x2341 +# opta.upload_port.0.pid=0x0364 +# +# opta.upload.tool=dfu-util +# opta.upload.tool.default=dfu-util +# opta.upload.protocol= +# opta.upload.transport= +# opta.upload.vid=0x2341 +# opta.upload.pid=0x0364 +# opta.upload.interface=0 +# opta.upload.use_1200bps_touch=true +# opta.upload.wait_for_upload_port=true +# opta.upload.native_usb=true +# +# opta.bootloader.tool=dfu-util +# opta.bootloader.tool.default=dfu-util +# opta.bootloader.vid=0x2341 +# opta.bootloader.pid=0x0364 +# opta.bootloader.interface=0 +# opta.bootloader.file=zephyr-{build.variant}.bin +# opta.bootloader.address=0x08040000 +# +# opta.debug.tool=gdb +# opta.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg +# opta.debug.server.openocd.scripts.1={programmer.transport_script} +# opta.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg +# opta.debug.cortex-debug.custom.request=attach +# opta.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd +# +# ########################################################################################## +# +# nano_matter.name=Arduino Nano Matter +# nano_matter.build.core=arduino +# nano_matter.build.crossprefix=arm-zephyr-eabi- +# nano_matter.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# nano_matter.menu.link_mode.dynamic=Dynamic +# nano_matter.menu.link_mode.static=Static +# nano_matter.menu.link_mode.static.build.link_mode=static +# nano_matter.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# nano_matter.build.zephyr_target=arduino_nano_matter +# nano_matter.build.zephyr_args= +# nano_matter.build.zephyr_hals=hal_silabs +# nano_matter.build.artifact=zephyr_main +# nano_matter.build.variant=arduino_nano_matter_mgm240sd22vna +# +# nano_matter.openocd_cfg=flash_sketch.cfg +# nano_matter.build.extra_flags= +# nano_matter.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# nano_matter.build.board=ARDUINO_NANO_MATTER +# nano_matter.vid.0=0x2341 +# nano_matter.pid.0=0x0072 +# nano_matter.upload_port.0.vid=0x2341 +# nano_matter.upload_port.0.pid=0x0072 +# +# nano_matter.upload.tool=openocd +# nano_matter.upload.tool.default=openocd +# nano_matter.upload.config=-f target/efm32s2_g23.cfg +# nano_matter.upload.programmer=-f interface/cmsis-dap.cfg +# nano_matter.upload.protocol=SWD +# nano_matter.upload.setup_command= +# nano_matter.upload.use_1200bps_touch=false +# nano_matter.upload.wait_for_upload_port=false +# nano_matter.upload.native_usb=false +# +# nano_matter.bootloader.tool=openocd +# nano_matter.bootloader.tool.default=openocd +# nano_matter.bootloader.vid=0x2341 +# nano_matter.bootloader.pid=0x0072 +# nano_matter.bootloader.interface=0 +# nano_matter.bootloader.file=zephyr-{build.variant}.hex +# nano_matter.bootloader.target=arduino_nano_matter +# +# nano_matter.debug.server=openocd +# nano_matter.debug.server.openocd.scripts.0=interface/cmsis-dap.cfg +# nano_matter.debug.server.openocd.scripts.1=target/efm32s2_g23.cfg +# nano_matter.debug.cortex-debug.custom.postAttachCommands.0=monitor reset halt +# #nano_matter.debug.cortex-debug.custom.postAttachCommands.1=monitor reset_config srst_nogate +# #nano_matter.debug.cortex-debug.custom.postAttachCommands.2=monitor gdb_breakpoint_override hard +# nano_matter.debug.cortex-debug.custom.postAttachCommands.3=monitor gdb_sync +# nano_matter.debug.cortex-debug.custom.postAttachCommands.4=c +# nano_matter.debug.cortex-debug.custom.overrideRestartCommands.0=monitor reset halt +# nano_matter.debug.cortex-debug.custom.overrideRestartCommands.1=monitor gdb_sync +# nano_matter.debug.cortex-debug.custom.overrideRestartCommands.2=c +# nano_matter.debug.cortex-debug.custom.request=attach +# +# ############################################################################################################## +# +# unoq.name=Arduino UNO Q +# unoq.build.core=arduino +# unoq.build.crossprefix=arm-zephyr-eabi- +# unoq.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# unoq.menu.link_mode.dynamic=Dynamic +# unoq.menu.link_mode.static=Static +# unoq.menu.link_mode.static.build.link_mode=static +# unoq.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# unoq.menu.wait_linux_boot.yes=Wait for Linux +# unoq.menu.wait_linux_boot.no=Immediate +# unoq.menu.wait_linux_boot.no.build.boot_mode=immediate +# unoq.menu.wait_linux_boot.app=Wait for App +# unoq.menu.wait_linux_boot.app.build.boot_mode=app +# +# unoq.build.zephyr_target=arduino_uno_q +# unoq.build.zephyr_args= +# unoq.build.variant=arduino_uno_q_stm32u585xx +# unoq.build.artifact=zephyr_unoq +# unoq.build.subarch=zephyr +# +# unoq.openocd_cfg=flash_sketch.cfg +# unoq.build.extra_flags= +# unoq.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# unoq.build.board=UNO_Q +# unoq.build.zephyr_hals=hal_stm32 +# unoq.build.zephyr_toolchain=arm-zephyr-eabi +# unoq.vid.0=0x2341 +# unoq.pid.0=0x0078 +# unoq.upload_port.0.vid=0x2341 +# unoq.upload_port.0.pid=0x0078 +# unoq.upload.target=stm32u585zitxq +# +# unoq.upload.tool=remoteocd +# unoq.upload.tool.default=remoteocd +# unoq.upload.tool.network=remoteocd_network +# unoq.upload.protocol= +# unoq.upload.transport= +# unoq.upload.vid=0x2341 +# unoq.upload.pid=0x0078 +# unoq.upload.interface=0 +# unoq.upload.use_1200bps_touch=false +# unoq.upload.wait_for_upload_port=false +# unoq.upload.native_usb=true +# +# unoq.bootloader.tool=remoteocd +# unoq.bootloader.tool.default=remoteocd +# unoq.bootloader.file=zephyr-{build.variant}.elf +# unoq.bootloader.target=stm32u585zitxq +# +# ############################################################################################################## +# +# nano_connect.name=Arduino Nano RP2040 Connect +# nano_connect.build.core=arduino +# nano_connect.build.crossprefix=arm-zephyr-eabi- +# nano_connect.build.compiler_path={runtime.tools.arm-zephyr-eabi-0.16.8.path}/bin/ +# +# nano_connect.menu.debug.false=Standard +# nano_connect.menu.debug.true=Debug +# nano_connect.menu.debug.true.build.zsk_args.debug=-debug +# +# nano_connect.menu.link_mode.dynamic=Dynamic +# nano_connect.menu.link_mode.static=Static +# nano_connect.menu.link_mode.static.build.link_mode=static +# nano_connect.menu.link_mode.static.upload.extension=bin-zsk.bin +# +# nano_connect.build.zephyr_target=arduino_nano_connect +# nano_connect.build.zephyr_args= +# nano_connect.build.zephyr_hals=hal_rpi_pico +# nano_connect.build.artifact=zephyr_main +# nano_connect.build.variant=arduino_nano_connect_rp2040 +# nano_connect.build.mcu=cortex-m0plus +# nano_connect.build.fpu= +# nano_connect.build.architecture=cortex-m0plus +# nano_connect.compiler.zephyr.arch.define= +# +# nano_connect.build.float-abi=-mfloat-abi=soft +# nano_connect.build.extra_flags= +# nano_connect.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit +# nano_connect.recipe.hooks.objcopy.postobjcopy.3.pattern="{runtime.tools.bin2uf2.path}/bin2uf2" {upload.address} {upload.familyid} "{build.path}/{build.project_name}.{upload.extension}" "{build.path}/{build.project_name}.uf2" +# nano_connect.build.board=NANO_RP2040_CONNECT +# nano_connect.compiler.zephyr= +# nano_connect.vid.0=0x2341 +# nano_connect.pid.0=0x005E +# nano_connect.upload_port.0.vid=0x2341 +# nano_connect.upload_port.0.pid=0x005E +# +# nano_connect.upload.tool=picotool +# nano_connect.upload.tool.default=picotool +# nano_connect.upload.protocol= +# nano_connect.upload.transport= +# nano_connect.upload.vid=0x2341 +# nano_connect.upload.pid=0x005E +# nano_connect.upload.interface=0 +# nano_connect.upload.use_1200bps_touch=true +# nano_connect.upload.wait_for_upload_port=false +# nano_connect.upload.native_usb=true +# nano_connect.upload.maximum_size=16777216 +# nano_connect.upload.maximum_data_size=270336 +# +# nano_connect.upload.address=0x100E0000 +# nano_connect.upload.familyid=0xe48bff56 +# +# nano_connect.bootloader.tool=picotool +# nano_connect.bootloader.tool.default=picotool +# nano_connect.bootloader.vid=0x2341 +# nano_connect.bootloader.pid=0x005E +# nano_connect.bootloader.interface=0 +# nano_connect.bootloader.file=zephyr-{build.variant} +# +# nano_connect.debug.tool=gdb +# nano_connect.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg +# nano_connect.debug.server.openocd.scripts.1={programmer.transport_script} +# nano_connect.debug.server.openocd.scripts.2=target/rp2040-core0.cfg +# nano_connect.debug.cortex-debug.custom.request=attach +# nano_connect.debug.svd_file={runtime.platform.path}/svd/rp2040.svd +# +# ############################################################################################################## -giga.menu.debug.false=Standard -giga.menu.debug.true=Debug -giga.menu.debug.true.build.zsk_args.debug=-debug - -giga.menu.link_mode.dynamic=Dynamic -giga.menu.link_mode.static=Static -giga.menu.link_mode.static.build.link_mode=static -giga.menu.link_mode.static.upload.extension=bin-zsk.bin - -giga.build.zephyr_target=arduino_giga_r1//m7 -giga.build.zephyr_args=--shield arduino_giga_display_shield -giga.build.zephyr_hals=hal_stm32 hal_infineon -giga.build.zephyr_toolchain=arm-zephyr-eabi -giga.build.variant=arduino_giga_r1_stm32h747xx_m7 -giga.build.artifact=zephyr_main - -giga.build.extra_flags= -giga.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -giga.build.board=GIGA -giga.upload_port.0.vid=0x2341 -giga.upload_port.0.pid=0x0666 - -giga.upload.tool=dfu-util -giga.upload.tool.default=dfu-util -giga.upload.protocol= -giga.upload.transport= -giga.upload.interface=0 -giga.upload.use_1200bps_touch=true -giga.upload.wait_for_upload_port=true -giga.upload.native_usb=true - -giga.bootloader.tool=dfu-util -giga.bootloader.tool.default=dfu-util -giga.bootloader.pid=0x0366 -giga.bootloader.interface=0 -giga.bootloader.file=zephyr-{build.variant}.bin -giga.bootloader.address=0x08040000 - -giga.debug.tool=gdb -giga.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg -giga.debug.server.openocd.scripts.1={programmer.transport_script} -giga.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg -giga.debug.cortex-debug.custom.request=attach -giga.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd - -########################################################################################## - -nano33ble.name=Arduino Nano 33 BLE -nano33ble.build.core=arduino -nano33ble.build.crossprefix=arm-zephyr-eabi- -nano33ble.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -nano33ble.menu.debug.false=Standard -nano33ble.menu.debug.true=Debug -nano33ble.menu.debug.true.build.zsk_args.debug=-debug - -nano33ble.menu.link_mode.dynamic=Dynamic -nano33ble.menu.link_mode.static=Static -nano33ble.menu.link_mode.static.build.link_mode=static -nano33ble.menu.link_mode.static.upload.extension=bin-zsk.bin - -nano33ble.build.zephyr_target=arduino_nano_33_ble//sense -nano33ble.build.zephyr_args= -nano33ble.build.zephyr_hals=hal_nordic -nano33ble.build.zephyr_toolchain=arm-zephyr-eabi -nano33ble.build.artifact=zephyr_main -nano33ble.build.variant=arduino_nano_33_ble_nrf52840_sense - -nano33ble.build.extra_flags= -nano33ble.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -nano33ble.build.board=NANO33BLE -nano33ble.upload_port.0.vid=0x2341 -nano33ble.upload_port.0.pid=0x065a - -nano33ble.upload.tool=bossac -nano33ble.upload.tool.default=bossac -nano33ble.upload.protocol= -nano33ble.upload.transport= -nano33ble.upload.use_1200bps_touch=true -nano33ble.upload.wait_for_upload_port=true -nano33ble.upload.native_usb=true -nano33ble.upload.offset=0x10000 # bootloader skips its own partition - -nano33ble.bootloader.tool=bossac -nano33ble.bootloader.tool.default=bossac -nano33ble.bootloader.file=zephyr-{build.variant}.bin -nano33ble.bootloader.address=0x0000 - -nano33ble.debug.tool=gdb -nano33ble.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg -nano33ble.debug.server.openocd.scripts.1={programmer.transport_script} -nano33ble.debug.server.openocd.scripts.2=target/nrf52.cfg -nano33ble.debug.cortex-debug.custom.request=attach - -############################################################################################################## - -ek_ra8d1.name=Renesas RA8D1 EK -ek_ra8d1.build.core=arduino -ek_ra8d1.build.crossprefix=arm-zephyr-eabi- -ek_ra8d1.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -ek_ra8d1.menu.debug.false=Standard -ek_ra8d1.menu.debug.true=Debug -ek_ra8d1.menu.debug.true.build.zsk_args.debug=-debug - -ek_ra8d1.menu.link_mode.dynamic=Dynamic -ek_ra8d1.menu.link_mode.static=Static -ek_ra8d1.menu.link_mode.static.build.link_mode=static -ek_ra8d1.menu.link_mode.static.upload.extension=bin-zsk.bin - -ek_ra8d1.build.zephyr_target=ek_ra8d1 -ek_ra8d1.build.zephyr_args= -ek_ra8d1.build.zephyr_hals=hal_renesas -ek_ra8d1.build.zephyr_toolchain=arm-zephyr-eabi -ek_ra8d1.build.variant=ek_ra8d1_r7fa8d1bhecbd - -ek_ra8d1.build.extra_flags= -ek_ra8d1.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -ek_ra8d1.build.board=EK_RA8D1 - -#ek_ra8d1.recipe.hooks.objcopy.postobjcopy.4.pattern=cp {build.variant.path}/flasher.jlink "{build.path}/flasher.jlink" -#ek_ra8d1.recipe.hooks.objcopy.postobjcopy.5.pattern=sed -i 's|SKETCH|"{build.path}/{build.project_name}.llext.dfu.bin"|g' "{build.path}/flasher.jlink" - -ek_ra8d1.upload_port.0.vid=0x045b -ek_ra8d1.upload_port.0.pid=0x0261 - -ek_ra8d1.upload.tool=pyocd -ek_ra8d1.upload.tool.default=pyocd -ek_ra8d1.upload.protocol= -ek_ra8d1.upload.transport= -ek_ra8d1.upload.use_1200bps_touch=false -ek_ra8d1.upload.wait_for_upload_port=false -ek_ra8d1.upload.native_usb=true -ek_ra8d1.upload.target=R7FA8D1AH - -ek_ra8d1.bootloader.tool=pyocd -ek_ra8d1.bootloader.tool.default=pyocd -ek_ra8d1.bootloader.file=zephyr-{build.variant}.elf -ek_ra8d1.bootloader.target=R7FA8D1AH - - -############################################################################################################## - -frdm_mcxn947.name=NXP FRDM MCXN947 -frdm_mcxn947.build.core=arduino -frdm_mcxn947.build.crossprefix=arm-zephyr-eabi- -frdm_mcxn947.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -frdm_mcxn947.menu.debug.false=Standard -frdm_mcxn947.menu.debug.true=Debug -frdm_mcxn947.menu.debug.true.build.zsk_args.debug=-debug - -frdm_mcxn947.menu.link_mode.dynamic=Dynamic -frdm_mcxn947.menu.link_mode.static=Static -frdm_mcxn947.menu.link_mode.static.build.link_mode=static -frdm_mcxn947.menu.link_mode.static.upload.extension=bin-zsk.bin - -frdm_mcxn947.build.zephyr_target=frdm_mcxn947//cpu0 -frdm_mcxn947.build.zephyr_args= -frdm_mcxn947.build.zephyr_hals=hal_nxp -frdm_mcxn947.build.zephyr_toolchain=arm-zephyr-eabi -frdm_mcxn947.build.variant=frdm_mcxn947_mcxn947_cpu0 - -frdm_mcxn947.build.extra_flags= -frdm_mcxn947.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -frdm_mcxn947.build.board=FRDM_MCXN947 -frdm_mcxn947.upload_port.0.vid=0x1fc9 -frdm_mcxn947.upload_port.0.pid=0x0143 -frdm_mcxn947.upload.target=mcxn947vdf - -frdm_mcxn947.upload.tool=pyocd -frdm_mcxn947.upload.tool.default=pyocd -frdm_mcxn947.upload.protocol= -frdm_mcxn947.upload.transport= -frdm_mcxn947.upload.use_1200bps_touch=false -frdm_mcxn947.upload.wait_for_upload_port=false -frdm_mcxn947.upload.native_usb=true - -frdm_mcxn947.bootloader.tool=pyocd -frdm_mcxn947.bootloader.tool.default=pyocd -frdm_mcxn947.bootloader.file=zephyr-{build.variant}.elf -frdm_mcxn947.bootloader.target=mcxn947vdf - - -########################################################################################## - -portentah7.name=Arduino Portenta H7 -portentah7.build.core=arduino -portentah7.build.crossprefix=arm-zephyr-eabi- -portentah7.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -portentah7.menu.debug.false=Standard -portentah7.menu.debug.true=Debug -portentah7.menu.debug.true.build.zsk_args.debug=-debug - -portentah7.menu.link_mode.dynamic=Dynamic -portentah7.menu.link_mode.static=Static -portentah7.menu.link_mode.static.build.link_mode=static -portentah7.menu.link_mode.static.upload.extension=bin-zsk.bin - -portentah7.build.zephyr_target=arduino_portenta_h7@1.0.0//m7 -portentah7.build.zephyr_args= -portentah7.build.zephyr_hals=hal_stm32 hal_infineon -portentah7.build.zephyr_toolchain=arm-zephyr-eabi -portentah7.build.artifact=zephyr_main -portentah7.build.variant=arduino_portenta_h7_stm32h747xx_m7 - -portentah7.build.extra_flags= -portentah7.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -portentah7.build.board=PORTENTA_H7_M7 -portentah7.upload_port.0.vid=0x2341 -portentah7.upload_port.0.pid=0x065b - -portentah7.upload.tool=dfu-util -portentah7.upload.tool.default=dfu-util -portentah7.upload.protocol= -portentah7.upload.transport= -portentah7.upload.interface=0 -portentah7.upload.use_1200bps_touch=true -portentah7.upload.wait_for_upload_port=true -portentah7.upload.native_usb=true - -portentah7.bootloader.tool=dfu-util -portentah7.bootloader.tool.default=dfu-util -portentah7.bootloader.pid=0x035b -portentah7.bootloader.interface=0 -portentah7.bootloader.file=zephyr-{build.variant}.bin -portentah7.bootloader.address=0x08040000 - -portentah7.debug.tool=gdb -portentah7.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg -portentah7.debug.server.openocd.scripts.1={programmer.transport_script} -portentah7.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg -portentah7.debug.cortex-debug.custom.request=attach -portentah7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd - -############################################################################################################## - -nicla_vision.name=Arduino Nicla Vision -nicla_vision.build.core=arduino -nicla_vision.build.crossprefix=arm-zephyr-eabi- -nicla_vision.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -nicla_vision.menu.debug.false=Standard -nicla_vision.menu.debug.true=Debug -nicla_vision.menu.debug.true.build.zsk_args.debug=-debug - -nicla_vision.menu.link_mode.dynamic=Dynamic -nicla_vision.menu.link_mode.static=Static -nicla_vision.menu.link_mode.static.build.link_mode=static -nicla_vision.menu.link_mode.static.upload.extension=bin-zsk.bin - -nicla_vision.build.zephyr_target=arduino_nicla_vision//m7 -nicla_vision.build.zephyr_args= -nicla_vision.build.zephyr_hals=hal_stm32 hal_infineon -nicla_vision.build.zephyr_toolchain=arm-zephyr-eabi -nicla_vision.build.artifact=zephyr_main -nicla_vision.build.variant=arduino_nicla_vision_stm32h747xx_m7 - -nicla_vision.build.extra_flags= -nicla_vision.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -nicla_vision.build.board=NICLA_VISION -nicla_vision.upload_port.0.vid=0x2341 -nicla_vision.upload_port.0.pid=0x065f - -nicla_vision.upload.tool=dfu-util -nicla_vision.upload.tool.default=dfu-util -nicla_vision.upload.protocol= -nicla_vision.upload.transport= -nicla_vision.upload.interface=0 -nicla_vision.upload.use_1200bps_touch=true -nicla_vision.upload.wait_for_upload_port=true -nicla_vision.upload.native_usb=true - -nicla_vision.bootloader.tool=dfu-util -nicla_vision.bootloader.tool.default=dfu-util -nicla_vision.bootloader.pid=0x035f -nicla_vision.bootloader.interface=0 -nicla_vision.bootloader.file=zephyr-{build.variant}.bin -nicla_vision.bootloader.address=0x08040000 - -nicla_vision.debug.tool=gdb -nicla_vision.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg -nicla_vision.debug.server.openocd.scripts.1={programmer.transport_script} -nicla_vision.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg -nicla_vision.debug.cortex-debug.custom.request=attach -nicla_vision.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd - -############################################################################################################## - -frdm_rw612.name=NXP FRDM RW612 -frdm_rw612.build.core=arduino -frdm_rw612.build.crossprefix=arm-zephyr-eabi- -frdm_rw612.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -frdm_rw612.menu.debug.false=Standard -frdm_rw612.menu.debug.true=Debug -frdm_rw612.menu.debug.true.build.zsk_args.debug=-debug - -frdm_rw612.menu.link_mode.dynamic=Dynamic -frdm_rw612.menu.link_mode.static=Static -frdm_rw612.menu.link_mode.static.build.link_mode=static -frdm_rw612.menu.link_mode.static.upload.extension=bin-zsk.bin - -frdm_rw612.build.zephyr_target=frdm_rw612 -frdm_rw612.build.zephyr_args= -frdm_rw612.build.zephyr_hals=hal_stm32 -frdm_rw612.build.zephyr_toolchain=arm-zephyr-eabi -frdm_rw612.build.variant=frdm_rw612_rw612 - -frdm_rw612.build.extra_flags= -frdm_rw612.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -frdm_rw612.build.board=FRDM_RW612 -frdm_rw612.upload_port.0.vid=0x1fc9 -frdm_rw612.upload_port.0.pid=0x0143 -frdm_rw612.upload.target=rw612 - -frdm_rw612.upload.tool=pyocd -frdm_rw612.upload.tool.default=pyocd -frdm_rw612.upload.protocol= -frdm_rw612.upload.transport= -frdm_rw612.upload.use_1200bps_touch=false -frdm_rw612.upload.wait_for_upload_port=false -frdm_rw612.upload.native_usb=true - -frdm_rw612.bootloader.tool=pyocd -frdm_rw612.bootloader.tool.default=pyocd -frdm_rw612.bootloader.file=zephyr-{build.variant}.elf -frdm_rw612.bootloader.target=rw612 - -########################################################################################## - -nicla_sense.name=Arduino Nicla Sense ME -nicla_sense.build.core=arduino -nicla_sense.build.crossprefix=arm-zephyr-eabi- -nicla_sense.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -nicla_sense.menu.link_mode.dynamic=Dynamic -nicla_sense.menu.link_mode.static=Static -nicla_sense.menu.link_mode.static.build.link_mode=static -nicla_sense.menu.link_mode.static.upload.extension=bin-zsk.bin - -nicla_sense.build.zephyr_target=arduino_nicla_sense_me -nicla_sense.build.zephyr_args= -nicla_sense.build.zephyr_hals=hal_nordic -nicla_sense.build.zephyr_toolchain=arm-zephyr-eabi -nicla_sense.build.artifact=zephyr_main -nicla_sense.build.variant=arduino_nicla_sense_me_nrf52832 - -nicla_sense.openocd_cfg=flash_sketch.cfg -nicla_sense.build.extra_flags= -nicla_sense.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -nicla_sense.build.board=NICLA_SENSE_ME -nicla_sense.upload_port.0.vid=0x2341 -nicla_sense.upload_port.0.pid=0x0060 - -nicla_sense.upload.tool=openocd -nicla_sense.upload.tool.default=openocd -nicla_sense.upload.protocol= -nicla_sense.upload.config=-f target/nrf52.cfg -nicla_sense.upload.programmer=-f interface/cmsis-dap.cfg -nicla_sense.upload.use_1200bps_touch=false -nicla_sense.upload.wait_for_upload_port=false -nicla_sense.upload.native_usb=false -nicla_sense.upload.target=nrf52 - -nicla_sense.bootloader.tool=openocd -nicla_sense.bootloader.tool.default=openocd -nicla_sense.bootloader.file=zephyr-{build.variant}.hex -nicla_sense.bootloader.target=nrf52 - -nicla_sense.debug.tool=gdb -nicla_sense.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg -nicla_sense.debug.server.openocd.scripts.1={programmer.transport_script} -nicla_sense.debug.server.openocd.scripts.2=target/nrf52.cfg -nicla_sense.debug.cortex-debug.custom.request=attach - - -########################################################################################## - -portentac33.name=Arduino Portenta C33 -portentac33.build.core=arduino -portentac33.build.crossprefix=arm-zephyr-eabi- -portentac33.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -portentac33.menu.debug.false=Standard -portentac33.menu.debug.true=Debug -portentac33.menu.debug.true.build.zsk_args.debug=-debug - -portentac33.menu.link_mode.dynamic=Dynamic -portentac33.menu.link_mode.static=Static -portentac33.menu.link_mode.static.build.link_mode=static -portentac33.menu.link_mode.static.upload.extension=bin-zsk.bin - -portentac33.build.zephyr_target=arduino_portenta_c33 -portentac33.build.zephyr_args= -portentac33.build.zephyr_hals=hal_renesas nanopb -portentac33.build.zephyr_toolchain=arm-zephyr-eabi -portentac33.build.artifact=zephyr_main -portentac33.build.variant=arduino_portenta_c33_r7fa6m5bh3cfc - -portentac33.build.extra_flags= -portentac33.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -portentac33.build.board=PORTENTA_C33 -portentac33.upload_port.0.vid=0x2341 -portentac33.upload_port.0.pid=0x0668 -portentac33.upload.target=portentac33 - -portentac33.upload.tool=dfu-util -portentac33.upload.tool.default=dfu-util -portentac33.upload.protocol= -portentac33.upload.transport= -portentac33.upload.interface=1 -portentac33.upload.use_1200bps_touch=true -portentac33.upload.wait_for_upload_port=false -portentac33.upload.native_usb=true -portentac33.upload.dfuse= - -portentac33.bootloader.tool=dfu-util -portentac33.bootloader.tool.default=dfu-util -portentac33.bootloader.file=zephyr-{build.variant}.bin -portentac33.bootloader.interface=0 -portentac33.bootloader.address=0x10000 -portentac33.bootloader.pid=0x0368 -portentac33.bootloader.dfuse= - -# the space before the extra arguments is important -portentac33.leave.dfuse={empty} -Q -portentac33.loader.args.with_sketch={empty} -w -portentac33.sketch.args.without_loader={empty} -w - -########################################################################################## - -opta.name=Arduino Opta -opta.build.core=arduino -opta.build.crossprefix=arm-zephyr-eabi- -opta.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -opta.menu.debug.false=Standard -opta.menu.debug.true=Debug -opta.menu.debug.true.build.zsk_args.debug=-debug - -opta.menu.link_mode.dynamic=Dynamic -opta.menu.link_mode.static=Static -opta.menu.link_mode.static.build.link_mode=static -opta.menu.link_mode.static.upload.extension=bin-zsk.bin - -opta.build.zephyr_target=arduino_opta//m7 -opta.build.zephyr_args= -opta.build.zephyr_hals=hal_stm32 hal_infineon -opta.build.zephyr_toolchain=arm-zephyr-eabi -opta.build.artifact=zephyr_main -opta.build.variant=arduino_opta_stm32h747xx_m7 - -opta.build.extra_flags= -opta.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -opta.build.board=OPTA -opta.upload_port.0.vid=0x2341 -opta.upload_port.0.pid=0x0664 - -opta.upload.tool=dfu-util -opta.upload.tool.default=dfu-util -opta.upload.protocol= -opta.upload.transport= -opta.upload.interface=0 -opta.upload.use_1200bps_touch=true -opta.upload.wait_for_upload_port=true -opta.upload.native_usb=true - -opta.bootloader.tool=dfu-util -opta.bootloader.tool.default=dfu-util -opta.bootloader.pid=0x0364 -opta.bootloader.interface=0 -opta.bootloader.file=zephyr-{build.variant}.bin -opta.bootloader.address=0x08040000 - -opta.debug.tool=gdb -opta.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg -opta.debug.server.openocd.scripts.1={programmer.transport_script} -opta.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg -opta.debug.cortex-debug.custom.request=attach -opta.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd - -########################################################################################## - -nano_matter.name=Arduino Nano Matter -nano_matter.build.core=arduino -nano_matter.build.crossprefix=arm-zephyr-eabi- -nano_matter.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -nano_matter.menu.link_mode.dynamic=Dynamic -nano_matter.menu.link_mode.static=Static -nano_matter.menu.link_mode.static.build.link_mode=static -nano_matter.menu.link_mode.static.upload.extension=bin-zsk.bin - -nano_matter.build.zephyr_target=arduino_nano_matter -nano_matter.build.zephyr_args= -nano_matter.build.zephyr_hals=hal_silabs -nano_matter.build.zephyr_toolchain=arm-zephyr-eabi -nano_matter.build.artifact=zephyr_main -nano_matter.build.variant=arduino_nano_matter_mgm240sd22vna - -nano_matter.openocd_cfg=flash_sketch.cfg -nano_matter.build.extra_flags= -nano_matter.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -nano_matter.build.board=ARDUINO_NANO_MATTER -nano_matter.upload_port.0.vid=0x2341 -nano_matter.upload_port.0.pid=0x0072 - -nano_matter.upload.tool=openocd -nano_matter.upload.tool.default=openocd -nano_matter.upload.config=-f target/efm32s2_g23.cfg -nano_matter.upload.programmer=-f interface/cmsis-dap.cfg -nano_matter.upload.protocol=SWD -nano_matter.upload.setup_command= -nano_matter.upload.use_1200bps_touch=false -nano_matter.upload.wait_for_upload_port=false -nano_matter.upload.native_usb=false - -nano_matter.bootloader.tool=openocd -nano_matter.bootloader.tool.default=openocd -nano_matter.bootloader.file=zephyr-{build.variant}.hex -nano_matter.bootloader.target=arduino_nano_matter - -nano_matter.debug.server=openocd -nano_matter.debug.server.openocd.scripts.0=interface/cmsis-dap.cfg -nano_matter.debug.server.openocd.scripts.1=target/efm32s2_g23.cfg -nano_matter.debug.cortex-debug.custom.postAttachCommands.0=monitor reset halt -#nano_matter.debug.cortex-debug.custom.postAttachCommands.1=monitor reset_config srst_nogate -#nano_matter.debug.cortex-debug.custom.postAttachCommands.2=monitor gdb_breakpoint_override hard -nano_matter.debug.cortex-debug.custom.postAttachCommands.3=monitor gdb_sync -nano_matter.debug.cortex-debug.custom.postAttachCommands.4=c -nano_matter.debug.cortex-debug.custom.overrideRestartCommands.0=monitor reset halt -nano_matter.debug.cortex-debug.custom.overrideRestartCommands.1=monitor gdb_sync -nano_matter.debug.cortex-debug.custom.overrideRestartCommands.2=c -nano_matter.debug.cortex-debug.custom.request=attach - -############################################################################################################## - -unoq.name=Arduino UNO Q -unoq.build.core=arduino -unoq.build.crossprefix=arm-zephyr-eabi- -unoq.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -unoq.menu.link_mode.dynamic=Dynamic -unoq.menu.link_mode.static=Static -unoq.menu.link_mode.static.build.link_mode=static -unoq.menu.link_mode.static.upload.extension=bin-zsk.bin - -unoq.menu.wait_linux_boot.yes=Wait for Linux -unoq.menu.wait_linux_boot.no=Immediate -unoq.menu.wait_linux_boot.no.build.boot_mode=immediate -unoq.menu.wait_linux_boot.app=Wait for App -unoq.menu.wait_linux_boot.app.build.boot_mode=app - -unoq.build.zephyr_target=arduino_uno_q -unoq.build.zephyr_args= -unoq.build.zephyr_hals=hal_stm32 -unoq.build.zephyr_toolchain=arm-zephyr-eabi -unoq.build.variant=arduino_uno_q_stm32u585xx -unoq.build.artifact=zephyr_unoq -unoq.build.subarch=zephyr - -unoq.openocd_cfg=flash_sketch.cfg -unoq.build.extra_flags= -unoq.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -unoq.build.board=UNO_Q -unoq.upload_port.0.vid=0x2341 -unoq.upload_port.0.pid=0x0078 -unoq.upload.target=stm32u585zitxq - -unoq.upload.tool=remoteocd -unoq.upload.tool.default=remoteocd -unoq.upload.tool.network=remoteocd_network -unoq.upload.protocol= -unoq.upload.transport= -unoq.upload.use_1200bps_touch=false -unoq.upload.wait_for_upload_port=false -unoq.upload.native_usb=true - -unoq.bootloader.tool=remoteocd -unoq.bootloader.tool.default=remoteocd -unoq.bootloader.file=zephyr-{build.variant}.elf -unoq.bootloader.target=stm32u585zitxq - -############################################################################################################## - -nano_connect.name=Arduino Nano RP2040 Connect -nano_connect.build.core=arduino -nano_connect.build.crossprefix=arm-zephyr-eabi- -nano_connect.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ - -nano_connect.menu.debug.false=Standard -nano_connect.menu.debug.true=Debug -nano_connect.menu.debug.true.build.zsk_args.debug=-debug - -nano_connect.menu.link_mode.dynamic=Dynamic -nano_connect.menu.link_mode.static=Static -nano_connect.menu.link_mode.static.build.link_mode=static -nano_connect.menu.link_mode.static.upload.extension=bin-zsk.bin - -nano_connect.build.zephyr_target=arduino_nano_connect -nano_connect.build.zephyr_args= -nano_connect.build.zephyr_hals=hal_rpi_pico -nano_connect.build.zephyr_toolchain=arm-zephyr-eabi -nano_connect.build.artifact=zephyr_main -nano_connect.build.variant=arduino_nano_connect_rp2040 - -nano_connect.build.extra_flags= -nano_connect.build.postbuild.cmd="{tools.imgtool.path}/{tools.imgtool.cmd}" exit -nano_connect.recipe.hooks.objcopy.postobjcopy.3.pattern="{runtime.tools.bin2uf2.path}/bin2uf2" {upload.address} {upload.familyid} "{build.path}/{build.project_name}.{upload.extension}" "{build.path}/{build.project_name}.{upload.extension}.uf2" -nano_connect.upload.artifacts.sketch={build.path}/{build.project_name}.{upload.extension}.uf2 -nano_connect.build.board=NANO_RP2040_CONNECT -nano_connect.upload_port.0.vid=0x2341 -nano_connect.upload_port.0.pid=0x065E - -nano_connect.upload.tool=picotool -nano_connect.upload.tool.default=picotool -nano_connect.upload.protocol= -nano_connect.upload.transport= -nano_connect.upload.use_1200bps_touch=true -nano_connect.upload.wait_for_upload_port=false -nano_connect.upload.native_usb=true - -nano_connect.upload.familyid=0xe48bff56 - -nano_connect.bootloader.tool=picotool -nano_connect.bootloader.tool.default=picotool -nano_connect.bootloader.file=zephyr-{build.variant}.uf2 - -nano_connect.debug.tool=gdb -nano_connect.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg -nano_connect.debug.server.openocd.scripts.1={programmer.transport_script} -nano_connect.debug.server.openocd.scripts.2=target/rp2040-core0.cfg -nano_connect.debug.cortex-debug.custom.request=attach -nano_connect.debug.svd_file={runtime.platform.path}/svd/rp2040.svd +kit_pse84_ai.name=Infineon KIT-PSE84-AI (PSOC Edge E84) +kit_pse84_ai.build.core=arduino +kit_pse84_ai.build.crossprefix=arm-zephyr-eabi- +kit_pse84_ai.build.compiler_path={runtime.tools.arm-zephyr-eabi-1.0.1.path}/bin/ +kit_pse84_ai.menu.debug.false=Standard +kit_pse84_ai.menu.debug.true=Debug +kit_pse84_ai.menu.debug.true.build.zsk_args.debug=-debug +kit_pse84_ai.menu.link_mode.dynamic=Dynamic +kit_pse84_ai.menu.link_mode.static=Static +kit_pse84_ai.menu.link_mode.static.build.link_mode=static +kit_pse84_ai.menu.link_mode.static.upload.extension=bin-zsk.bin +kit_pse84_ai.build.zephyr_target=kit_pse84_ai/pse846gps2dbzc4a/m33 +kit_pse84_ai.build.zephyr_args= +kit_pse84_ai.build.zephyr_hals=hal_infineon +kit_pse84_ai.build.variant=kit_pse84_ai_pse846gps2dbzc4a_m33 +kit_pse84_ai.build.mcu=cortex-m33 +kit_pse84_ai.build.fpu=-mfpu=fpv5-sp-d16 +kit_pse84_ai.build.architecture=cortex-m33 +kit_pse84_ai.build.float-abi=-mfloat-abi=hard +kit_pse84_ai.compiler.zephyr.specs= +kit_pse84_ai.build.extra_flags= +kit_pse84_ai.build.specs= +kit_pse84_ai.build.link_command="{compiler.path}{compiler.c.elf.cmd}" "-L{build.path}" "-L{build.variant.path}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} {build.extra_flags} {build.extra_ldflags} {compiler.zephyr.common_ldflags} {compiler.ldflags} {object_files} -Wl,--start-group "{build.path}/{archive_file}" {compiler.zephyr.extra_ldflags} {compiler.libraries.ldflags} -Wl,--end-group {build.link_args.{build.link_mode}} +kit_pse84_ai.build.postbuild.cmd="{tools.openocd.path}/{tools.openocd.cmd}" exit +kit_pse84_ai.build.board=KIT_PSE84_AI +kit_pse84_ai.upload.address=0x60200000 +kit_pse84_ai.upload.target=pse84 +kit_pse84_ai.upload.tool=openocd +kit_pse84_ai.upload.tool.default=openocd +kit_pse84_ai.tools.openocd.path={runtime.tools.openocd.path} +kit_pse84_ai.tools.openocd.cmd=bin/openocd +kit_pse84_ai.tools.openocd.cmd.windows=bin/openocd.exe +kit_pse84_ai.programmer.default=cmsis-dap +kit_pse84_ai.tools.openocd.upload.pattern="{path}/{cmd}" {upload.verbose} -s "{path}/scripts/" -s "{path}/share/openocd/scripts/" -s "{runtime.platform.path}/variants/{build.variant}/" -f "{runtime.platform.path}/variants/{build.variant}/openocd.cfg" -c "telnet_port disabled; init; reset init; halt; adapter speed 10000; flash write_image erase {{build.path}/{build.project_name}.{upload.extension}} {upload.address} bin; reset run; shutdown" +kit_pse84_ai.tools.openocd.program.pattern="{path}/{cmd}" {program.verbose} -s "{path}/scripts/" -s "{path}/share/openocd/scripts/" -s "{runtime.platform.path}/variants/{build.variant}/" -f "{runtime.platform.path}/variants/{build.variant}/openocd.cfg" -c "telnet_port disabled; init; reset init; halt; adapter speed 10000; flash write_image erase {{build.path}/{build.project_name}.{upload.extension}} {upload.address} bin; reset run; shutdown" +kit_pse84_ai.tools.openocd.bootloader.pattern="{path}/{cmd}" {bootloader.verbose} -s "{path}/scripts/" -s "{path}/share/openocd/scripts/" -s "{runtime.platform.path}/variants/{build.variant}/" -f "{runtime.platform.path}/variants/{build.variant}/openocd.cfg" -c "telnet_port disabled; init; reset init; halt; adapter speed 10000; program {{runtime.platform.path}/firmwares/zephyr-{build.variant}.hex}; reset run; shutdown" +kit_pse84_ai.tools.openocd.upload.pattern.windows=cmd /C cd /D "{build.path}" && "{path}/{cmd}" {upload.verbose} -s "{path}/scripts/" -s "{path}/share/openocd/scripts/" -s "{runtime.platform.path}/variants/{build.variant}/" -f "{runtime.platform.path}/variants/{build.variant}/openocd.cfg" -c "set sketch_file [list {build.project_name}.{upload.extension}]; telnet_port disabled; init; reset init; halt; adapter speed 10000; flash write_image erase $sketch_file {upload.address} bin; reset run; shutdown" +kit_pse84_ai.tools.openocd.program.pattern.windows=cmd /C cd /D "{build.path}" && "{path}/{cmd}" {program.verbose} -s "{path}/scripts/" -s "{path}/share/openocd/scripts/" -s "{runtime.platform.path}/variants/{build.variant}/" -f "{runtime.platform.path}/variants/{build.variant}/openocd.cfg" -c "set sketch_file [list {build.project_name}.{upload.extension}]; telnet_port disabled; init; reset init; halt; adapter speed 10000; flash write_image erase $sketch_file {upload.address} bin; reset run; shutdown" +kit_pse84_ai.upload.protocol= +kit_pse84_ai.upload.transport= +kit_pse84_ai.upload.interface=0 +kit_pse84_ai.upload.use_1200bps_touch=false +kit_pse84_ai.upload.wait_for_upload_port=false +kit_pse84_ai.upload.native_usb=false +kit_pse84_ai.upload.maximum_size=1047552 +kit_pse84_ai.upload.maximum_data_size=135168 +kit_pse84_ai.bootloader.tool=openocd +kit_pse84_ai.bootloader.tool.default=openocd +kit_pse84_ai.tools.openocd.bootloader.pattern.windows=cmd /C cd /D "{runtime.platform.path}/firmwares" && "{path}/{cmd}" {bootloader.verbose} -s "{path}/scripts/" -s "{path}/share/openocd/scripts/" -s "{runtime.platform.path}/variants/{build.variant}/" -f "{runtime.platform.path}/variants/{build.variant}/openocd.cfg" -c "set bootloader_file [list zephyr-{build.variant}.hex]; telnet_port disabled; init; reset init; halt; adapter speed 10000; program $bootloader_file; reset run; shutdown" +kit_pse84_ai.bootloader.target=pse84 ############################################################################################################## diff --git a/doc/temporaryPinout.PNG b/doc/temporaryPinout.PNG new file mode 100644 index 000000000..23098508d Binary files /dev/null and b/doc/temporaryPinout.PNG differ diff --git a/extra/bootstrap.sh b/extra/bootstrap.sh index e675721bb..37316d972 100755 --- a/extra/bootstrap.sh +++ b/extra/bootstrap.sh @@ -67,20 +67,15 @@ else log_msg "group" "Refreshing workspace and modules: $HAL_FILTER" fi west config manifest.project-filter -- "$HAL_FILTER" -west update $WEST_MODULES_CACHE "$@" +west update "$@" bash ./extra/apply_zephyr_patches.sh west zephyr-export pip3 install -r ../zephyr/scripts/requirements-base.txt log_msg "endgroup" -TOOLCHAIN_VERSIONS=$(for tc in $NEEDED_TOOLCHAINS; do - version=$(jq -r --arg name "$tc" '.toolsDependencies[] | select(.name == $name) | .version' extra/artifacts/_common.json) - if [ -z "$version" ]; then - echo "No version found for toolchain '$tc' in extra/artifacts/_common.json" >&2 - exit 1 - fi - echo "$version $tc" -done | sort -V) +log_msg "group" "Installing Zephyr SDK 1.0.1" +west sdk install --version 1.0.1 -t arm-zephyr-eabi +log_msg "endgroup" for version in $(echo "$TOOLCHAIN_VERSIONS" | cut -d ' ' -f 1 | sort -u -V); do toolchains=$(echo "$TOOLCHAIN_VERSIONS" | awk -v v="$version" '$1 == v { print $2 }') diff --git a/platform.txt b/platform.txt index 0c89858f7..69d52e9e0 100644 --- a/platform.txt +++ b/platform.txt @@ -320,11 +320,12 @@ tools.remoteocd.path={runtime.tools.remoteocd.path} tools.remoteocd.cmd=remoteocd tools.remoteocd.upload.params.verbose=--verbose tools.remoteocd.upload.params.quiet= -tools.remoteocd.upload.pattern="{path}/{cmd}" upload --adb-path "{runtime.tools.adb.path}/adb" -s "{upload.port.properties.serialNumber}" -f "{build.variant.path}/{openocd_cfg}" "{upload.verbose}" "{upload.artifacts.loader}" "{upload.artifacts.sketch}" +tools.remoteocd.upload.pattern="{path}/{cmd}" upload --adb-path "{runtime.tools.adb.path}/adb" -s "{upload.port.properties.serialNumber}" -f "{build.variant.path}/{openocd_cfg}" "{upload.verbose}" "{build.path}/{build.project_name}.{upload.extension}" tools.remoteocd.bootloader.params.verbose=--verbose tools.remoteocd.bootloader.params.quiet= -tools.remoteocd.bootloader.pattern="{path}/{cmd}" upload --adb-path "{runtime.tools.adb.path}/adb" -s "{upload.port.properties.serialNumber}" -f "{build.variant.path}/flash_bootloader.cfg" "{upload.verbose}" "{upload.artifacts.loader}" +tools.remoteocd.erase.pattern= +tools.remoteocd.bootloader.pattern="{path}/{cmd}" upload --adb-path "{runtime.tools.adb.path}/adb" -s "{upload.port.properties.serialNumber}" -f "{build.variant.path}/flash_bootloader.cfg" "{upload.verbose}" "{runtime.platform.path}/firmwares/{bootloader.file}" tools.remoteocd_network.upload.protocol=network tools.remoteocd_network.upload.field.password=Password @@ -333,8 +334,7 @@ tools.remoteocd_network.path={runtime.tools.remoteocd.path} tools.remoteocd_network.cmd=remoteocd tools.remoteocd_network.upload.params.verbose=--verbose tools.remoteocd_network.upload.params.quiet= -tools.remoteocd_network.upload.pattern="{path}/{cmd}" upload -a "{upload.port.address}" --password "{upload.field.password}" -f "{build.variant.path}/{openocd_cfg}" "{upload.verbose}" "{upload.artifacts.loader}" "{upload.artifacts.sketch}" - +tools.remoteocd_network.upload.pattern="{path}/{cmd}" upload -a "{upload.port.address}" --password "{upload.field.password}" -f "{build.variant.path}/{openocd_cfg}" "{upload.verbose}" "{build.path}/{build.project_name}.{upload.extension}" # # PYOCD WRAPPER diff --git a/west.yml b/west.yml index 3022289fa..1b93f0e5a 100644 --- a/west.yml +++ b/west.yml @@ -20,8 +20,8 @@ manifest: projects: - name: zephyr - remote: arduino - revision: zephyr-arduino-v4.4.1+ + remote: zephyrproject-rtos + revision: v4.4.0 import: name-allowlist: - cmsis