Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use aligned address to demonstrate HardFault #374

Conversation

decorator-factory
Copy link
Contributor

A volatile read from an unaligned pointer results in this when running in debug mode:

panicked at core/src/panicking.rs:221:5:
unsafe precondition(s) violated: ptr::read_volatile requires that the pointer argument is aligned and non-null

I changed the address to be aligned (but still invalid on F3 Discovery), so that the expected output is produced.

P.S. I was confused about the lack of output. Maybe default to panic-semihosting/panic-itm instead of panic-halt in these examples?

@decorator-factory decorator-factory requested a review from a team as a code owner August 18, 2024 19:49
Copy link
Member

@BartMassey BartMassey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! Looks good to me.

@eldruin eldruin added this pull request to the merge queue Aug 20, 2024
Merged via the queue into rust-embedded:master with commit ff5d61d Aug 20, 2024
1 check passed
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Aug 28, 2024
Update books

## rust-lang/book

4 commits in 04bc1396bb857f35b5dda1d773c9571e1f253304..e7d217be2a75ef1753f0988d6ccaba4d7e376259
2024-08-14 01:19:47 UTC to 2024-08-13 16:51:00 UTC

- Backport/forward port ch12 (rust-lang/book#4008)
- Found some more things to fix in ch7; I forgot to update the snapshot (rust-lang/book#4007)
- Remove redundant sentence. Send to nostarch (rust-lang/book#4006)
- Fix: typo (rust-lang/book#4003)

## rust-lang/edition-guide

5 commits in aeeb287d41a0332c210da122bea8e0e91844ab3e..eeba2cb9c37ab74118a4fb5e5233f7397e4a91f8
2024-08-19 23:28:06 UTC to 2024-08-15 15:12:33 UTC

- 2024: Add rustdoc combined doctests (rust-lang/edition-guide#320)
- Update for unsafe attributes stabilization (rust-lang/edition-guide#319)
- 2024: Add macro-fragment-specifiers. (rust-lang/edition-guide#312)
- Fix deprecated_safe_2024 link (rust-lang/edition-guide#317)
- Add 2024 unsafe functions (rust-lang/edition-guide#304)

## rust-embedded/book

1 commits in 019f3928d8b939ec71b63722dcc2e46330156441..ff5d61d56f11e1986bfa9652c6aff7731576c37d
2024-08-20 07:26:19 UTC to 2024-08-20 07:26:19 UTC

- Use aligned address to demonstrate HardFault (rust-embedded/book#374)

## rust-lang/nomicon

1 commits in 6ecf95c5f2bfa0e6314dfe282bf775fd1405f7e9..14649f15d232d509478206ee9ed5105641aa60d0
2024-08-14 14:49:09 UTC to 2024-08-14 14:49:09 UTC

- CI: Switch to merge queue (rust-lang/nomicon#459)

## rust-lang/reference

14 commits in 62cd0df95061ba0ac886333f5cd7f3012f149da1..0668397076da350c404dadcf07b6cbc433ad3743
2024-08-11 21:06:12 +0000 to 2024-08-27 21:47:20 +0000
- Update enum.md (rust-lang/reference#1354)
- Be consistent about how "Edition differences" is capitalized (rust-lang/reference#1586)
- Sync denied lints with upstream (rust-lang/reference#1589)
- const_eval: update for const-fn float stabilization (rust-lang/reference#1566)
- Add spec identifier syntax to destructors.md (rust-lang/reference#1571)
- Say that `pub(in path)` can't depend on `use` statements (rust-lang/reference#1559)
- bytes inside implicitly const-promoted expressions are immutable (rust-lang/reference#1554)
- Tweak `repr(transparent)` to mention requiring *at most* one non-1-ZST (rust-lang/reference#1568)
- operator expressions: add &raw (rust-lang/reference#1567)
- Rewrite the automatic std link translation, and switch to automatic links (rust-lang/reference#1578)
- Add some basic docs for unsafe attrs (rust-lang/reference#1539)
- don't capitalize Undefined Behavior (rust-lang/reference#1575)
- add the `const` operand to docs for inline assembly (rust-lang/reference#1556)
- Typo: 'a' to 'an' in type-coercions.md (rust-lang/reference#1572)

## rust-lang/rust-by-example

1 commits in 8f94061936e492159f4f6c09c0f917a7521893ff..859786c5bc99301bbc22fc631a5c2b341860da08
2024-08-26 10:30:48 UTC to 2024-08-26 10:30:48 UTC

- Update primitives.md with examples (rust-lang/rust-by-example#1878)

## rust-lang/rustc-dev-guide

7 commits in 43d8378..fa928a6
2024-08-26 14:46:50 UTC to 2024-08-12 21:07:49 UTC

- Fix x.py reference (rust-lang/rustc-dev-guide#2049)
- Update `stabilization_guide.md` (rust-lang/rustc-dev-guide#2034)
- Explain the internal `#[rustc_*]` TEST attributes used for debugging and inside tests (rust-lang/rustc-dev-guide#2046)
- missing char (rust-lang/rustc-dev-guide#2047)
- Replace direct http links to rustc-dev-guide.rust-lang.org (rust-lang/rustc-dev-guide#2044)
- Update index.html, 39. The MIR: fix typo (rust-lang/rustc-dev-guide#2043)
- Update LLVM docs (rust-lang/rustc-dev-guide#2039)
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Aug 29, 2024
Update books

## rust-lang/book

4 commits in 04bc1396bb857f35b5dda1d773c9571e1f253304..e7d217be2a75ef1753f0988d6ccaba4d7e376259
2024-08-14 01:19:47 UTC to 2024-08-13 16:51:00 UTC

- Backport/forward port ch12 (rust-lang/book#4008)
- Found some more things to fix in ch7; I forgot to update the snapshot (rust-lang/book#4007)
- Remove redundant sentence. Send to nostarch (rust-lang/book#4006)
- Fix: typo (rust-lang/book#4003)

## rust-lang/edition-guide

5 commits in aeeb287d41a0332c210da122bea8e0e91844ab3e..eeba2cb9c37ab74118a4fb5e5233f7397e4a91f8
2024-08-19 23:28:06 UTC to 2024-08-15 15:12:33 UTC

- 2024: Add rustdoc combined doctests (rust-lang/edition-guide#320)
- Update for unsafe attributes stabilization (rust-lang/edition-guide#319)
- 2024: Add macro-fragment-specifiers. (rust-lang/edition-guide#312)
- Fix deprecated_safe_2024 link (rust-lang/edition-guide#317)
- Add 2024 unsafe functions (rust-lang/edition-guide#304)

## rust-embedded/book

1 commits in 019f3928d8b939ec71b63722dcc2e46330156441..ff5d61d56f11e1986bfa9652c6aff7731576c37d
2024-08-20 07:26:19 UTC to 2024-08-20 07:26:19 UTC

- Use aligned address to demonstrate HardFault (rust-embedded/book#374)

## rust-lang/nomicon

1 commits in 6ecf95c5f2bfa0e6314dfe282bf775fd1405f7e9..14649f15d232d509478206ee9ed5105641aa60d0
2024-08-14 14:49:09 UTC to 2024-08-14 14:49:09 UTC

- CI: Switch to merge queue (rust-lang/nomicon#459)

## rust-lang/reference

14 commits in 62cd0df95061ba0ac886333f5cd7f3012f149da1..0668397076da350c404dadcf07b6cbc433ad3743
2024-08-11 21:06:12 +0000 to 2024-08-27 21:47:20 +0000
- Update enum.md (rust-lang/reference#1354)
- Be consistent about how "Edition differences" is capitalized (rust-lang/reference#1586)
- Sync denied lints with upstream (rust-lang/reference#1589)
- const_eval: update for const-fn float stabilization (rust-lang/reference#1566)
- Add spec identifier syntax to destructors.md (rust-lang/reference#1571)
- Say that `pub(in path)` can't depend on `use` statements (rust-lang/reference#1559)
- bytes inside implicitly const-promoted expressions are immutable (rust-lang/reference#1554)
- Tweak `repr(transparent)` to mention requiring *at most* one non-1-ZST (rust-lang/reference#1568)
- operator expressions: add &raw (rust-lang/reference#1567)
- Rewrite the automatic std link translation, and switch to automatic links (rust-lang/reference#1578)
- Add some basic docs for unsafe attrs (rust-lang/reference#1539)
- don't capitalize Undefined Behavior (rust-lang/reference#1575)
- add the `const` operand to docs for inline assembly (rust-lang/reference#1556)
- Typo: 'a' to 'an' in type-coercions.md (rust-lang/reference#1572)

## rust-lang/rust-by-example

1 commits in 8f94061936e492159f4f6c09c0f917a7521893ff..859786c5bc99301bbc22fc631a5c2b341860da08
2024-08-26 10:30:48 UTC to 2024-08-26 10:30:48 UTC

- Update primitives.md with examples (rust-lang/rust-by-example#1878)

## rust-lang/rustc-dev-guide

7 commits in 43d8378..fa928a6
2024-08-26 14:46:50 UTC to 2024-08-12 21:07:49 UTC

- Fix x.py reference (rust-lang/rustc-dev-guide#2049)
- Update `stabilization_guide.md` (rust-lang/rustc-dev-guide#2034)
- Explain the internal `#[rustc_*]` TEST attributes used for debugging and inside tests (rust-lang/rustc-dev-guide#2046)
- missing char (rust-lang/rustc-dev-guide#2047)
- Replace direct http links to rustc-dev-guide.rust-lang.org (rust-lang/rustc-dev-guide#2044)
- Update index.html, 39. The MIR: fix typo (rust-lang/rustc-dev-guide#2043)
- Update LLVM docs (rust-lang/rustc-dev-guide#2039)
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Aug 29, 2024
Update books

## rust-lang/book

4 commits in 04bc1396bb857f35b5dda1d773c9571e1f253304..e7d217be2a75ef1753f0988d6ccaba4d7e376259
2024-08-14 01:19:47 UTC to 2024-08-13 16:51:00 UTC

- Backport/forward port ch12 (rust-lang/book#4008)
- Found some more things to fix in ch7; I forgot to update the snapshot (rust-lang/book#4007)
- Remove redundant sentence. Send to nostarch (rust-lang/book#4006)
- Fix: typo (rust-lang/book#4003)

## rust-lang/edition-guide

5 commits in aeeb287d41a0332c210da122bea8e0e91844ab3e..eeba2cb9c37ab74118a4fb5e5233f7397e4a91f8
2024-08-19 23:28:06 UTC to 2024-08-15 15:12:33 UTC

- 2024: Add rustdoc combined doctests (rust-lang/edition-guide#320)
- Update for unsafe attributes stabilization (rust-lang/edition-guide#319)
- 2024: Add macro-fragment-specifiers. (rust-lang/edition-guide#312)
- Fix deprecated_safe_2024 link (rust-lang/edition-guide#317)
- Add 2024 unsafe functions (rust-lang/edition-guide#304)

## rust-embedded/book

1 commits in 019f3928d8b939ec71b63722dcc2e46330156441..ff5d61d56f11e1986bfa9652c6aff7731576c37d
2024-08-20 07:26:19 UTC to 2024-08-20 07:26:19 UTC

- Use aligned address to demonstrate HardFault (rust-embedded/book#374)

## rust-lang/nomicon

1 commits in 6ecf95c5f2bfa0e6314dfe282bf775fd1405f7e9..14649f15d232d509478206ee9ed5105641aa60d0
2024-08-14 14:49:09 UTC to 2024-08-14 14:49:09 UTC

- CI: Switch to merge queue (rust-lang/nomicon#459)

## rust-lang/reference

14 commits in 62cd0df95061ba0ac886333f5cd7f3012f149da1..0668397076da350c404dadcf07b6cbc433ad3743
2024-08-11 21:06:12 +0000 to 2024-08-27 21:47:20 +0000
- Update enum.md (rust-lang/reference#1354)
- Be consistent about how "Edition differences" is capitalized (rust-lang/reference#1586)
- Sync denied lints with upstream (rust-lang/reference#1589)
- const_eval: update for const-fn float stabilization (rust-lang/reference#1566)
- Add spec identifier syntax to destructors.md (rust-lang/reference#1571)
- Say that `pub(in path)` can't depend on `use` statements (rust-lang/reference#1559)
- bytes inside implicitly const-promoted expressions are immutable (rust-lang/reference#1554)
- Tweak `repr(transparent)` to mention requiring *at most* one non-1-ZST (rust-lang/reference#1568)
- operator expressions: add &raw (rust-lang/reference#1567)
- Rewrite the automatic std link translation, and switch to automatic links (rust-lang/reference#1578)
- Add some basic docs for unsafe attrs (rust-lang/reference#1539)
- don't capitalize Undefined Behavior (rust-lang/reference#1575)
- add the `const` operand to docs for inline assembly (rust-lang/reference#1556)
- Typo: 'a' to 'an' in type-coercions.md (rust-lang/reference#1572)

## rust-lang/rust-by-example

1 commits in 8f94061936e492159f4f6c09c0f917a7521893ff..859786c5bc99301bbc22fc631a5c2b341860da08
2024-08-26 10:30:48 UTC to 2024-08-26 10:30:48 UTC

- Update primitives.md with examples (rust-lang/rust-by-example#1878)

## rust-lang/rustc-dev-guide

7 commits in 43d8378..fa928a6
2024-08-26 14:46:50 UTC to 2024-08-12 21:07:49 UTC

- Fix x.py reference (rust-lang/rustc-dev-guide#2049)
- Update `stabilization_guide.md` (rust-lang/rustc-dev-guide#2034)
- Explain the internal `#[rustc_*]` TEST attributes used for debugging and inside tests (rust-lang/rustc-dev-guide#2046)
- missing char (rust-lang/rustc-dev-guide#2047)
- Replace direct http links to rustc-dev-guide.rust-lang.org (rust-lang/rustc-dev-guide#2044)
- Update index.html, 39. The MIR: fix typo (rust-lang/rustc-dev-guide#2043)
- Update LLVM docs (rust-lang/rustc-dev-guide#2039)
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Aug 29, 2024
Rollup merge of rust-lang#129617 - rustbot:docs-update, r=ehuss

Update books

## rust-lang/book

4 commits in 04bc1396bb857f35b5dda1d773c9571e1f253304..e7d217be2a75ef1753f0988d6ccaba4d7e376259
2024-08-14 01:19:47 UTC to 2024-08-13 16:51:00 UTC

- Backport/forward port ch12 (rust-lang/book#4008)
- Found some more things to fix in ch7; I forgot to update the snapshot (rust-lang/book#4007)
- Remove redundant sentence. Send to nostarch (rust-lang/book#4006)
- Fix: typo (rust-lang/book#4003)

## rust-lang/edition-guide

5 commits in aeeb287d41a0332c210da122bea8e0e91844ab3e..eeba2cb9c37ab74118a4fb5e5233f7397e4a91f8
2024-08-19 23:28:06 UTC to 2024-08-15 15:12:33 UTC

- 2024: Add rustdoc combined doctests (rust-lang/edition-guide#320)
- Update for unsafe attributes stabilization (rust-lang/edition-guide#319)
- 2024: Add macro-fragment-specifiers. (rust-lang/edition-guide#312)
- Fix deprecated_safe_2024 link (rust-lang/edition-guide#317)
- Add 2024 unsafe functions (rust-lang/edition-guide#304)

## rust-embedded/book

1 commits in 019f3928d8b939ec71b63722dcc2e46330156441..ff5d61d56f11e1986bfa9652c6aff7731576c37d
2024-08-20 07:26:19 UTC to 2024-08-20 07:26:19 UTC

- Use aligned address to demonstrate HardFault (rust-embedded/book#374)

## rust-lang/nomicon

1 commits in 6ecf95c5f2bfa0e6314dfe282bf775fd1405f7e9..14649f15d232d509478206ee9ed5105641aa60d0
2024-08-14 14:49:09 UTC to 2024-08-14 14:49:09 UTC

- CI: Switch to merge queue (rust-lang/nomicon#459)

## rust-lang/reference

14 commits in 62cd0df95061ba0ac886333f5cd7f3012f149da1..0668397076da350c404dadcf07b6cbc433ad3743
2024-08-11 21:06:12 +0000 to 2024-08-27 21:47:20 +0000
- Update enum.md (rust-lang/reference#1354)
- Be consistent about how "Edition differences" is capitalized (rust-lang/reference#1586)
- Sync denied lints with upstream (rust-lang/reference#1589)
- const_eval: update for const-fn float stabilization (rust-lang/reference#1566)
- Add spec identifier syntax to destructors.md (rust-lang/reference#1571)
- Say that `pub(in path)` can't depend on `use` statements (rust-lang/reference#1559)
- bytes inside implicitly const-promoted expressions are immutable (rust-lang/reference#1554)
- Tweak `repr(transparent)` to mention requiring *at most* one non-1-ZST (rust-lang/reference#1568)
- operator expressions: add &raw (rust-lang/reference#1567)
- Rewrite the automatic std link translation, and switch to automatic links (rust-lang/reference#1578)
- Add some basic docs for unsafe attrs (rust-lang/reference#1539)
- don't capitalize Undefined Behavior (rust-lang/reference#1575)
- add the `const` operand to docs for inline assembly (rust-lang/reference#1556)
- Typo: 'a' to 'an' in type-coercions.md (rust-lang/reference#1572)

## rust-lang/rust-by-example

1 commits in 8f94061936e492159f4f6c09c0f917a7521893ff..859786c5bc99301bbc22fc631a5c2b341860da08
2024-08-26 10:30:48 UTC to 2024-08-26 10:30:48 UTC

- Update primitives.md with examples (rust-lang/rust-by-example#1878)

## rust-lang/rustc-dev-guide

7 commits in 43d8378..fa928a6
2024-08-26 14:46:50 UTC to 2024-08-12 21:07:49 UTC

- Fix x.py reference (rust-lang/rustc-dev-guide#2049)
- Update `stabilization_guide.md` (rust-lang/rustc-dev-guide#2034)
- Explain the internal `#[rustc_*]` TEST attributes used for debugging and inside tests (rust-lang/rustc-dev-guide#2046)
- missing char (rust-lang/rustc-dev-guide#2047)
- Replace direct http links to rustc-dev-guide.rust-lang.org (rust-lang/rustc-dev-guide#2044)
- Update index.html, 39. The MIR: fix typo (rust-lang/rustc-dev-guide#2043)
- Update LLVM docs (rust-lang/rustc-dev-guide#2039)
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Aug 30, 2024
Update books

## rust-lang/book

4 commits in 04bc1396bb857f35b5dda1d773c9571e1f253304..e7d217be2a75ef1753f0988d6ccaba4d7e376259
2024-08-14 01:19:47 UTC to 2024-08-13 16:51:00 UTC

- Backport/forward port ch12 (rust-lang/book#4008)
- Found some more things to fix in ch7; I forgot to update the snapshot (rust-lang/book#4007)
- Remove redundant sentence. Send to nostarch (rust-lang/book#4006)
- Fix: typo (rust-lang/book#4003)

## rust-lang/edition-guide

5 commits in aeeb287d41a0332c210da122bea8e0e91844ab3e..eeba2cb9c37ab74118a4fb5e5233f7397e4a91f8
2024-08-19 23:28:06 UTC to 2024-08-15 15:12:33 UTC

- 2024: Add rustdoc combined doctests (rust-lang/edition-guide#320)
- Update for unsafe attributes stabilization (rust-lang/edition-guide#319)
- 2024: Add macro-fragment-specifiers. (rust-lang/edition-guide#312)
- Fix deprecated_safe_2024 link (rust-lang/edition-guide#317)
- Add 2024 unsafe functions (rust-lang/edition-guide#304)

## rust-embedded/book

1 commits in 019f3928d8b939ec71b63722dcc2e46330156441..ff5d61d56f11e1986bfa9652c6aff7731576c37d
2024-08-20 07:26:19 UTC to 2024-08-20 07:26:19 UTC

- Use aligned address to demonstrate HardFault (rust-embedded/book#374)

## rust-lang/nomicon

1 commits in 6ecf95c5f2bfa0e6314dfe282bf775fd1405f7e9..14649f15d232d509478206ee9ed5105641aa60d0
2024-08-14 14:49:09 UTC to 2024-08-14 14:49:09 UTC

- CI: Switch to merge queue (rust-lang/nomicon#459)

## rust-lang/reference

14 commits in 62cd0df95061ba0ac886333f5cd7f3012f149da1..0668397076da350c404dadcf07b6cbc433ad3743
2024-08-11 21:06:12 +0000 to 2024-08-27 21:47:20 +0000
- Update enum.md (rust-lang/reference#1354)
- Be consistent about how "Edition differences" is capitalized (rust-lang/reference#1586)
- Sync denied lints with upstream (rust-lang/reference#1589)
- const_eval: update for const-fn float stabilization (rust-lang/reference#1566)
- Add spec identifier syntax to destructors.md (rust-lang/reference#1571)
- Say that `pub(in path)` can't depend on `use` statements (rust-lang/reference#1559)
- bytes inside implicitly const-promoted expressions are immutable (rust-lang/reference#1554)
- Tweak `repr(transparent)` to mention requiring *at most* one non-1-ZST (rust-lang/reference#1568)
- operator expressions: add &raw (rust-lang/reference#1567)
- Rewrite the automatic std link translation, and switch to automatic links (rust-lang/reference#1578)
- Add some basic docs for unsafe attrs (rust-lang/reference#1539)
- don't capitalize Undefined Behavior (rust-lang/reference#1575)
- add the `const` operand to docs for inline assembly (rust-lang/reference#1556)
- Typo: 'a' to 'an' in type-coercions.md (rust-lang/reference#1572)

## rust-lang/rust-by-example

1 commits in 8f94061936e492159f4f6c09c0f917a7521893ff..859786c5bc99301bbc22fc631a5c2b341860da08
2024-08-26 10:30:48 UTC to 2024-08-26 10:30:48 UTC

- Update primitives.md with examples (rust-lang/rust-by-example#1878)

## rust-lang/rustc-dev-guide

7 commits in 43d83780db545a1ed6d45773312fc578987e3968..fa928a6d19e1666d8d811dfe3fd35cdad3b4e459
2024-08-26 14:46:50 UTC to 2024-08-12 21:07:49 UTC

- Fix x.py reference (rust-lang/rustc-dev-guide#2049)
- Update `stabilization_guide.md` (rust-lang/rustc-dev-guide#2034)
- Explain the internal `#[rustc_*]` TEST attributes used for debugging and inside tests (rust-lang/rustc-dev-guide#2046)
- missing char (rust-lang/rustc-dev-guide#2047)
- Replace direct http links to rustc-dev-guide.rust-lang.org (rust-lang/rustc-dev-guide#2044)
- Update index.html, 39. The MIR: fix typo (rust-lang/rustc-dev-guide#2043)
- Update LLVM docs (rust-lang/rustc-dev-guide#2039)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants