aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-mcxa/CODEOWNERS5
-rw-r--r--embassy-mcxa/CODE_OF_CONDUCT.md132
-rw-r--r--embassy-mcxa/CONTRIBUTING.md28
-rw-r--r--embassy-mcxa/LICENSE21
-rw-r--r--embassy-mcxa/README.md8
-rw-r--r--embassy-mcxa/SECURITY.md66
-rw-r--r--embassy-mcxa/SW-Content-Register.txt78
-rw-r--r--embassy-mcxa/defmt.x6
-rw-r--r--embassy-mcxa/run.sh93
-rw-r--r--embassy-mcxa/rustfmt.toml3
10 files changed, 0 insertions, 440 deletions
diff --git a/embassy-mcxa/CODEOWNERS b/embassy-mcxa/CODEOWNERS
deleted file mode 100644
index 6e0f4c4c6..000000000
--- a/embassy-mcxa/CODEOWNERS
+++ /dev/null
@@ -1,5 +0,0 @@
1* @jamesmunns @felipebalbi
2
3# Any changes in the supply-chain folder needs approval
4# from auditors as it relates to cargo vet
5**/supply-chain @OpenDevicePartnership/crate-auditors \ No newline at end of file
diff --git a/embassy-mcxa/CODE_OF_CONDUCT.md b/embassy-mcxa/CODE_OF_CONDUCT.md
deleted file mode 100644
index 54a673e04..000000000
--- a/embassy-mcxa/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,132 +0,0 @@
1# Contributor Covenant Code of Conduct
2
3## Our Pledge
4
5We as members, contributors, and leaders pledge to make participation in our
6community a harassment-free experience for everyone, regardless of age, body
7size, visible or invisible disability, ethnicity, sex characteristics, gender
8identity and expression, level of experience, education, socio-economic status,
9nationality, personal appearance, race, caste, color, religion, or sexual
10identity and orientation.
11
12We pledge to act and interact in ways that contribute to an open, welcoming,
13diverse, inclusive, and healthy community.
14
15## Our Standards
16
17Examples of behavior that contributes to a positive environment for our
18community include:
19
20* Demonstrating empathy and kindness toward other people
21* Being respectful of differing opinions, viewpoints, and experiences
22* Giving and gracefully accepting constructive feedback
23* Accepting responsibility and apologizing to those affected by our mistakes,
24 and learning from the experience
25* Focusing on what is best not just for us as individuals, but for the overall
26 community
27
28Examples of unacceptable behavior include:
29
30* The use of sexualized language or imagery, and sexual attention or advances of
31 any kind
32* Trolling, insulting or derogatory comments, and personal or political attacks
33* Public or private harassment
34* Publishing others' private information, such as a physical or email address,
35 without their explicit permission
36* Other conduct which could reasonably be considered inappropriate in a
37 professional setting
38
39## Enforcement Responsibilities
40
41Community leaders are responsible for clarifying and enforcing our standards of
42acceptable behavior and will take appropriate and fair corrective action in
43response to any behavior that they deem inappropriate, threatening, offensive,
44or harmful.
45
46Community leaders have the right and responsibility to remove, edit, or reject
47comments, commits, code, wiki edits, issues, and other contributions that are
48not aligned to this Code of Conduct, and will communicate reasons for moderation
49decisions when appropriate.
50
51## Scope
52
53This Code of Conduct applies within all community spaces, and also applies when
54an individual is officially representing the community in public spaces.
55Examples of representing our community include using an official e-mail address,
56posting via an official social media account, or acting as an appointed
57representative at an online or offline event.
58
59## Enforcement
60
61Instances of abusive, harassing, or otherwise unacceptable behavior may be
62reported to the community leaders responsible for enforcement at
63[email protected].
64All complaints will be reviewed and investigated promptly and fairly.
65
66All community leaders are obligated to respect the privacy and security of the
67reporter of any incident.
68
69## Enforcement Guidelines
70
71Community leaders will follow these Community Impact Guidelines in determining
72the consequences for any action they deem in violation of this Code of Conduct:
73
74### 1. Correction
75
76**Community Impact**: Use of inappropriate language or other behavior deemed
77unprofessional or unwelcome in the community.
78
79**Consequence**: A private, written warning from community leaders, providing
80clarity around the nature of the violation and an explanation of why the
81behavior was inappropriate. A public apology may be requested.
82
83### 2. Warning
84
85**Community Impact**: A violation through a single incident or series of
86actions.
87
88**Consequence**: A warning with consequences for continued behavior. No
89interaction with the people involved, including unsolicited interaction with
90those enforcing the Code of Conduct, for a specified period of time. This
91includes avoiding interactions in community spaces as well as external channels
92like social media. Violating these terms may lead to a temporary or permanent
93ban.
94
95### 3. Temporary Ban
96
97**Community Impact**: A serious violation of community standards, including
98sustained inappropriate behavior.
99
100**Consequence**: A temporary ban from any sort of interaction or public
101communication with the community for a specified period of time. No public or
102private interaction with the people involved, including unsolicited interaction
103with those enforcing the Code of Conduct, is allowed during this period.
104Violating these terms may lead to a permanent ban.
105
106### 4. Permanent Ban
107
108**Community Impact**: Demonstrating a pattern of violation of community
109standards, including sustained inappropriate behavior, harassment of an
110individual, or aggression toward or disparagement of classes of individuals.
111
112**Consequence**: A permanent ban from any sort of public interaction within the
113community.
114
115## Attribution
116
117This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118version 2.1, available at
119[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
120
121Community Impact Guidelines were inspired by
122[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
123
124For answers to common questions about this code of conduct, see the FAQ at
125[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
126[https://www.contributor-covenant.org/translations][translations].
127
128[homepage]: https://www.contributor-covenant.org
129[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
130[Mozilla CoC]: https://github.com/mozilla/diversity
131[FAQ]: https://www.contributor-covenant.org/faq
132[translations]: https://www.contributor-covenant.org/translations
diff --git a/embassy-mcxa/CONTRIBUTING.md b/embassy-mcxa/CONTRIBUTING.md
deleted file mode 100644
index f10eb5be9..000000000
--- a/embassy-mcxa/CONTRIBUTING.md
+++ /dev/null
@@ -1,28 +0,0 @@
1# Contributing to Open Device Partnership
2
3The Open Device Partnership project welcomes your suggestions and contributions! Before opening your first issue or pull request, please review our
4[Code of Conduct](CODE_OF_CONDUCT.md) to understand how our community interacts in an inclusive and respectful manner.
5
6## Contribution Licensing
7
8Most of our code is distributed under the terms of the [MIT license](LICENSE), and when you contribute code that you wrote to our repositories,
9you agree that you are contributing under those same terms. In addition, by submitting your contributions you are indicating that
10you have the right to submit those contributions under those terms.
11
12## Other Contribution Information
13
14If you wish to contribute code or documentation authored by others, or using the terms of any other license, please indicate that clearly in your
15pull request so that the project team can discuss the situation with you.
16
17## Commit Message
18
19* Use meaningful commit messages. See [this blogpost](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
20
21## PR Etiquette
22
23* Create a draft PR first
24* Make sure that your branch has `.github` folder and all the code linting/sanity check workflows are passing in your draft PR before sending it out to code reviewers.
25
26## Regressions
27
28When reporting a regression, please ensure that you use `git bisect` to find the first offending commit, as that will help us finding the culprit a lot faster.
diff --git a/embassy-mcxa/LICENSE b/embassy-mcxa/LICENSE
deleted file mode 100644
index 609bd42da..000000000
--- a/embassy-mcxa/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
1MIT License
2
3Copyright (c) 2025 Open Device Partnership
4
5Permission is hereby granted, free of charge, to any person obtaining a copy
6of this software and associated documentation files (the "Software"), to deal
7in the Software without restriction, including without limitation the rights
8to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9copies of the Software, and to permit persons to whom the Software is
10furnished to do so, subject to the following conditions:
11
12The above copyright notice and this permission notice shall be included in all
13copies or substantial portions of the Software.
14
15THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21SOFTWARE.
diff --git a/embassy-mcxa/README.md b/embassy-mcxa/README.md
index 6e7d61c0e..079eeb487 100644
--- a/embassy-mcxa/README.md
+++ b/embassy-mcxa/README.md
@@ -1,13 +1,5 @@
1# Embassy MCXA256 HAL 1# Embassy MCXA256 HAL
2 2
3[![check](https://github.com/OpenDevicePartnership/embassy-mcxa/actions/workflows/check.yml/badge.svg)](https://github.com/OpenDevicePartnership/embassy-mcxa/actions/workflows/check.yml)
4[![no-std](https://github.com/OpenDevicePartnership/embassy-mcxa/actions/workflows/nostd.yml/badge.svg)](https://github.com/OpenDevicePartnership/embassy-mcxa/actions/workflows/nostd.yml)
5[![rolling](https://github.com/OpenDevicePartnership/embassy-mcxa/actions/workflows/rolling.yml/badge.svg)](https://github.com/OpenDevicePartnership/embassy-mcxa/actions/workflows/rolling.yml)
6
7A Hardware Abstraction Layer (HAL) for the NXP MCXA256 microcontroller 3A Hardware Abstraction Layer (HAL) for the NXP MCXA256 microcontroller
8using the Embassy async framework. This HAL provides safe, idiomatic 4using the Embassy async framework. This HAL provides safe, idiomatic
9Rust interfaces for GPIO, UART, and OSTIMER peripherals. 5Rust interfaces for GPIO, UART, and OSTIMER peripherals.
10
11## License
12
13This project is licensed under MIT OR Apache-2.0.
diff --git a/embassy-mcxa/SECURITY.md b/embassy-mcxa/SECURITY.md
deleted file mode 100644
index 5357b8824..000000000
--- a/embassy-mcxa/SECURITY.md
+++ /dev/null
@@ -1,66 +0,0 @@
1# Vulnerability Disclosure and Embargo Policy
2
3The Open Device Partnership project welcomes the responsible disclosure of vulnerabilities.
4
5## Initial Contact
6
7All security bugs in Open Device Partnership should be reported to the security team.
8To do so, please reach out in the form of a
9[Github Security Advisory](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities).
10
11You will be invited to join this private area to discuss specifics. Doing so
12allows us to start with a high level of confidentiality and relax it if the
13issue is less critical, moving to work on the fix in the open.
14
15Your initial contact will be acknowledged within 48 hours, and you’ll receive
16a more detailed response within 96 hours indicating the next steps in handling
17your report.
18
19After the initial reply to your report, the security team will endeavor to
20keep you informed of the progress being made towards a fix and full
21announcement. As recommended by
22[RFPolicy](https://dl.packetstormsecurity.net/papers/general/rfpolicy-2.0.txt),
23these updates will be sent at least every five working days.
24
25## Disclosure Policy
26
27The Open Device Partnership project has a 5 step disclosure process.
28
291. Contact is established, a private channel created, and the security report
30 is received and is assigned a primary handler. This person will coordinate
31 the fix and release process.
322. The problem is confirmed and a list of all affected versions is determined.
33 If an embargo is needed (see below), details of the embargo are decided.
343. Code is audited to find any potential similar problems.
354. Fixes are prepared for all releases which are still under maintenance. In
36 case of embargo, these fixes are not committed to the public repository but
37 rather held in a private fork pending the announcement.
385. The changes are pushed to the public repository and new builds are deployed.
39
40This process can take some time, especially when coordination is required
41with maintainers of other projects. Every effort will be made to handle the bug
42in as timely a manner as possible, however it is important that we follow the
43release process above to ensure that the disclosure is handled in a consistent
44manner.
45
46## Embargoes
47
48While the Open Device Partnership project aims to follow the highest standards of
49transparency and openness, handling some security issues may pose such an
50immediate threat to various stakeholders and require coordination between
51various actors that it cannot be made immediately public.
52
53In this case, security issues will fall under an embargo.
54
55An embargo can be called for in various cases:
56
57- when disclosing the issue without simultaneously providing a mitigation
58 would seriously endanger users,
59- when producing a fix requires coordinating between multiple actors (such as
60 upstream or downstream/dependency projects), or simply
61- when proper analysis of the issue and its ramifications demands time.
62
63If we determine that an issue you report requires an embargo, we will discuss
64this with you and try to find a reasonable expiry date (aka “embargo
65completion date”), as well as who should be included in the list of
66need-to-know people.
diff --git a/embassy-mcxa/SW-Content-Register.txt b/embassy-mcxa/SW-Content-Register.txt
deleted file mode 100644
index 09f879c2f..000000000
--- a/embassy-mcxa/SW-Content-Register.txt
+++ /dev/null
@@ -1,78 +0,0 @@
1Release Name: Embassy MCXA276 HAL
2Release Version: 0.1.0
3Package License: MIT (see ./License.txt)
4Note: The crate is dual-licensed “MIT OR Apache-2.0” per Cargo.toml; choosing MIT satisfies the dual-license terms.
5
6Scope of this Register
7This file documents software content that is part of this repository and, for transparency, lists major non-vendored Rust dependencies that are resolved from crates.io during builds. Components that are not present in the repository (e.g., external crates) are listed under “Non‑vendored Rust dependencies”.
8
9Repository Components (included in this release)
10
11embassy_mcxa276_hal Name: Embassy MCXA276 HAL (library + examples)
12 Version: 0.1.0
13 Outgoing License: MIT
14 License File: ./License.txt
15 Format: Rust source code, examples, scripts, linker scripts
16 Description: Hardware Abstraction Layer for NXP MCXA276 using the Embassy async framework. Implements drivers and helpers for:
17 - LPUART2 (UART), OSTIMER0, RTC0, ADC1, GPIO
18 - Embassy integration (executors, time)
19 Location: ./src, ./examples, ./build.rs, ./memory.x, ./ram.ld, ./defmt.x, ./.cargo/config.toml, ./run.sh, ./tools/
20 Origin: OEMWCSE (MIT)
21 URL: https://bitbucket.sw.nxp.com/scm/oemwcse/mcxa_rust.git
22
23mcxa276_pac Name: MCXA276 Peripheral Access Crate (PAC)
24 Version: 0.1.0
25 Outgoing License: MIT OR Apache-2.0
26 License File: (see crate metadata)
27 Format: Rust source code (auto-generated PAC)
28 Description: Auto-generated register mappings for MCXA276 peripherals (svd2rust). Includes device.x and interrupt vectors.
29 Location: External (git): https://github.com/bogdan-petru/mcxa-pac (pinned rev a9dd3301)
30 Origin: Generated by svdtools + svd2rust from NXP SVD 25.06.00
31 URL: N/A (generated from NXP SVD)
32
33examples Name: Example applications
34 Version: N/A
35 Outgoing License: MIT
36 License File: ./License.txt
37 Format: Rust source code (examples)
38 Description: Demonstrations for HAL peripherals and features:
39 - hello, blink
40 - lpuart_polling, lpuart_buffered, uart_interrupt
41 - rtc_alarm
42 - adc_polling, adc_interrupt
43 - ostimer_alarm, ostimer_async, ostimer_counter, ostimer_race_test
44 Location: ./examples
45 Origin: OEMWCSE (MIT)
46
47Non‑vendored Rust dependencies (resolved from crates.io at build time)
48The following crates are not vendored in this repository. They are fetched during builds via Cargo. See Cargo.lock for exact versions. License summaries below are for convenience; consult each crate for authoritative terms.
49
50cortex-m License: MIT OR Apache-2.0 Purpose: Cortex-M core support
51cortex-m-rt License: MIT OR Apache-2.0 Purpose: Cortex-M runtime (vectors, reset)
52embassy-executor License: MIT OR Apache-2.0 Purpose: Async executor for Cortex-M
53embassy-time (+ driver) License: MIT OR Apache-2.0 Purpose: Time abstraction and drivers
54embassy-sync License: MIT OR Apache-2.0 Purpose: No-std synchronization primitives
55embassy-embedded-hal License: MIT OR Apache-2.0 Purpose: Traits/adapters for embedded-hal
56embassy-hal-internal License: MIT OR Apache-2.0 Purpose: HAL building blocks (peripherals!)
57embedded-hal (1.0) License: MIT OR Apache-2.0 Purpose: Core embedded hardware traits
58embedded-hal (0.2.6) License: MIT OR Apache-2.0 Purpose: Legacy HAL traits ("unproven")
59embedded-hal-async License: MIT OR Apache-2.0 Purpose: Async HAL traits
60embedded-hal-nb License: MIT OR Apache-2.0 Purpose: Non-blocking HAL traits
61embedded-io / embedded-io-async License: MIT OR Apache-2.0 Purpose: IO traits
62critical-section License: MIT OR Apache-2.0 Purpose: Critical-section abstraction
63heapless License: MIT OR Apache-2.0 Purpose: Fixed-capacity data structures
64paste License: MIT OR Apache-2.0 Purpose: Macro hygiene utility
65nb License: MIT OR Apache-2.0 Purpose: Non-blocking result type
66vcell License: MIT OR Apache-2.0 Purpose: Volatile cell (PAC dependency)
67
68defmt, defmt-rtt, rtt-target, panic-probe License: MIT OR Apache-2.0 Purpose: Optional (feature-gated) logging/panic crates
69
70Attribution notes
71- MCXA276 PAC is sourced as an external dependency (see Cargo.toml). SVD 25.06.00 already includes OS_EVENT and WAKETIMER0 interrupts (no local fixes).
72- Examples run from RAM using custom linker setup; see README.txt for platform-specific instructions.
73
74Compliance
75- This repository’s distributed source is covered by MIT (see License.txt). Where crates are pulled from crates.io, those crates retain their own licenses; the dual-license compatibility (MIT OR Apache-2.0) is standard in the Rust embedded ecosystem and is compatible with this project’s selected MIT distribution.
76
77
78
diff --git a/embassy-mcxa/defmt.x b/embassy-mcxa/defmt.x
deleted file mode 100644
index dbd6d0850..000000000
--- a/embassy-mcxa/defmt.x
+++ /dev/null
@@ -1,6 +0,0 @@
1/*
2 Dummy defmt.x to satisfy -Tdefmt.x when building without the `defmt` feature.
3 When `defmt` is enabled, the real defmt.x provided by the defmt crate is used via the linker search path.
4 This file intentionally contains no SECTIONS so it won't override ram.ld.
5*/
6
diff --git a/embassy-mcxa/run.sh b/embassy-mcxa/run.sh
deleted file mode 100644
index 418dc8a24..000000000
--- a/embassy-mcxa/run.sh
+++ /dev/null
@@ -1,93 +0,0 @@
1#!/usr/bin/env bash
2set -euo pipefail
3
4ELF="${1:-}"
5if [[ -z "${ELF}" ]]; then
6 echo "Usage: $0 <elf_file>"
7 exit 1
8fi
9if [[ ! -f "${ELF}" ]]; then
10 echo "ELF not found: ${ELF}"
11 exit 1
12fi
13
14# Configurable via env
15CHIP="${CHIP:-MCXA276}"
16SPEED="${PROBE_SPEED:-1000}" # kHz
17# Default to J-Link if PROBE not provided
18PROBE_OPT=(--probe "${PROBE:-1366:0101:000600110607}")
19PORT="${PROBE_RS_GDB_PORT:-1337}"
20
21cleanup() {
22 if [[ -n "${GDB_SERVER_PID:-}" ]]; then kill "${GDB_SERVER_PID}" 2>/dev/null || true; fi
23 [[ -n "${GDB_SCRIPT:-}" ]] && rm -f "${GDB_SCRIPT}" || true
24 [[ -n "${SERVER_LOG:-}" ]] && rm -f "${SERVER_LOG}" || true
25}
26trap cleanup EXIT
27
28if ! command -v probe-rs >/dev/null 2>&1; then
29 echo "probe-rs not found (cargo install probe-rs --features cli)"
30 exit 1
31fi
32if ! command -v gdb-multiarch >/dev/null 2>&1; then
33 echo "gdb-multiarch not found; install it (e.g., sudo apt install gdb-multiarch)."
34 exit 1
35fi
36
37# Start probe-rs GDB server and capture its output to a log (do not hide errors)
38SERVER_LOG=$(mktemp)
39set +e
40probe-rs gdb --chip "${CHIP}" --protocol swd --speed "${SPEED}" --non-interactive "${ELF}" "${PROBE_OPT[@]}" \
41 >"${SERVER_LOG}" 2>&1 &
42GDB_SERVER_PID=$!
43set -e
44
45# Wait for server readiness without touching the TCP port to avoid corrupting the GDB protocol
46ready=""
47for _ in {1..50}; do
48 if grep -q "Firing up GDB stub" "${SERVER_LOG}"; then ready=1; break; fi
49 if grep -q "Connecting to the chip was unsuccessful" "${SERVER_LOG}"; then
50 echo "probe-rs gdb server failed to connect to target. Log:" >&2
51 echo "----- probe-rs gdb log -----" >&2
52 sed -e 's/^/ /' "${SERVER_LOG}" >&2 || true
53 exit 1
54 fi
55 sleep 0.1
56done
57if [[ -z "${ready}" ]]; then
58 echo "probe-rs gdb server did not report readiness. Log:" >&2
59 echo "----- probe-rs gdb log -----" >&2
60 sed -e 's/^/ /' "${SERVER_LOG}" >&2 || true
61 exit 1
62fi
63
64# GDB script: load to RAM and run, no reset
65GDB_SCRIPT=$(mktemp)
66cat >"${GDB_SCRIPT}" <<EOF
67set pagination off
68set confirm off
69set mem inaccessible-by-default off
70
71# Connect and load without reset
72target remote :${PORT}
73monitor halt
74load
75# Set VTOR to point to our RAM vector table at 0x20000000
76# This ensures the CPU uses the correct initial SP and Reset vector
77set *0xE000ED08 = 0x20000000
78# Now read SP and PC from our vector table and set them
79set \$sp = *(unsigned int*)0x20000000
80set \$pc = *(unsigned int*)0x20000004
81# Run target (blocks here until you Ctrl+C, like before)
82continue
83EOF
84
85# Run gdb against the server
86if ! gdb-multiarch -q -batch -x "${GDB_SCRIPT}" "${ELF}"; then
87 echo "GDB failed to load/run. probe-rs gdb server log:" >&2
88 echo "----- probe-rs gdb log -----" >&2
89 sed -e 's/^/ /' "${SERVER_LOG}" >&2 || true
90 exit 1
91fi
92
93echo "Program loaded and started (no reset)"
diff --git a/embassy-mcxa/rustfmt.toml b/embassy-mcxa/rustfmt.toml
deleted file mode 100644
index 9eb3c3b4f..000000000
--- a/embassy-mcxa/rustfmt.toml
+++ /dev/null
@@ -1,3 +0,0 @@
1group_imports = "StdExternalCrate"
2imports_granularity = "Module"
3max_width = 120