Age | Commit message (Collapse) | Author | Files | Lines |
|
168: Test thumbv8m.base on Travis CI r=korken89 a=JJJollyjim
This will fail until #155 is resolved
Co-authored-by: Jamie McClymont <jamie@kwiius.com>
|
|
174: Enable clippy in CI r=thejpster a=m-ou-se
Co-authored-by: Mara Bos <m-ou.se@m-ou.se>
|
|
|
|
|
|
167: Deprecate basepri/basepri_max on thumbv8m.base r=korken89 a=JJJollyjim
First step in resolving #155
Co-authored-by: Jamie McClymont <jamie@kwiius.com>
|
|
|
|
Now the only public non-inline functions left are:
- write_all
- write_aligned
- All (derived) Debug implementations
(Checked using Clippy's missing_inline_in_public_items lint.)
|
|
|
|
172: Make Clippy happy. r=therealprof a=m-ou-se
Co-authored-by: Mara Bos <m-ou.se@m-ou.se>
|
|
173: add a safe method to software unlock the DWT r=therealprof a=japaric
today the alternative is an unsafe write to the LAR register
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
|
|
today the alternative is an unsafe write to the LAR register
|
|
|
|
|
|
|
|
First step in resolving #155
|
|
164: Allow writing to the CONTROL register r=adamgreig a=jonas-schievink
This allows entering unprivileged mode.
Part of https://github.com/rust-embedded/cortex-m/issues/58
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
|
|
165: Slightly improve the bash scripts r=adamgreig a=jonas-schievink
cf. https://github.com/rust-embedded/cortex-m-rt/pull/204
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163: fix changelog link for v0.6.1 r=korken89 a=TDHolmes
The v0.6.1 link is broken and v0.6.0 links to v0.6.1 changes. Fix the typo to fix that
Co-authored-by: Tyler Holmes <tylerdanielholmes@gmail.com>
|
|
|
|
162: 0.6.1 release r=adamgreig a=korken89
There has been a lot of work, time to ship it :)
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
|
|
|
|
161: Add {M,P}SPLIM access routines found on ARMv8-M mainline extension r=thejpster a=aurabindo
I'd like to add better v8-M support. I'm not sure if this is PR has an optimal way of handling arch extension. As per ARMv8 Architecture reference manual, the baseline variant is not compatible with ARMv7-M. Only the main extension brings backward compatibility with v7-M.
This PR adds support for accessing MSPLIM and PSPLIM registers, and missing binaries for `thumbv8m.main-none-eabihf` architecture.
Co-authored-by: Aurabindo Jayamohanan <mail@aurabindo.in>
|
|
Signed-off-by: Aurabindo Jayamohanan <mail@aurabindo.in>
|
|
160: Update for 2018 edition r=korken89 a=adamgreig
Co-authored-by: Adam Greig <adam@adamgreig.com>
|
|
|
|
|
|
159: Define MSRV to be 1.31.0 and unconditionally use const-fn r=therealprof a=adamgreig
As per https://github.com/rust-embedded/wg/blob/master/ops/msrv.md we should have a defined MSRV for this crate. This PR proposes setting it to 1.31 to allow use of `const-fn` from bare-metal by default, and updates `Cargo.toml` accordingly. It also sets the edition to 2018, permitted by an MSRV of 1.31.
Since this PR _introduces_ an MSRV I propose it not requiring a semver bump, and we instead would look to release this change as `0.6.1`.
Closes #153.
Co-authored-by: Adam Greig <adam@ael.co.uk>
Co-authored-by: Adam Greig <adam@adamgreig.com>
|
|
|
|
|
|
|
|
152: Fix __delay asm function for the thumbv6m-none-eabi target r=therealprof a=Disasm
Before:
```
00000000 <__delay>:
0: 46c0 nop ; (mov r8, r8)
2: 3801 subs r0, #1
4: d1fe bne.n 0 <__delay>
4: R_ARM_THM_JUMP8 __delay
6: 4770 bx lr
```
After:
```
00000000 <__delay>:
0: 46c0 nop ; (mov r8, r8)
2: 3801 subs r0, #1
4: d1fc bne.n 0 <__delay>
6: 4770 bx lr
```
Closes https://github.com/rust-embedded/cortex-m/issues/125
Co-authored-by: Vadim Kaushan <admin@disasm.info>
|
|
|
|
|
|
150: add NVIC::{mask,unmask} r=therealprof a=japaric
these are the "static method" (methods that don't take `self`) versions of
NVIC::{enable,disable} in the same vein as the existing NVIC::{pend,unpend}
this commit also deprecates the existing NVIC::{enable,disable} methods and
notes that NVIC::enable is unsound because it should be an `unsafe` method (like
interrupt::enable and basepri::write, it can break critical sections) but it's
marked as safe. Its replacement, NVIC::unmask, has the correct unsafety setting:
it's an `unsafe` function.
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
|
|
these are the "static method" (methods that don't take `self`) versions of
NVIC::{enable,disable} in the same vein as the existing NVIC::{pend,unpend}
this commit also deprecates the existing NVIC::{enable,disable} methods and
notes that NVIC::enable is unsound because it should be an `unsafe` method (like
interrupt::enable and basepri::write, it can break critical sections) but it's
marked as safe. Its replacement, NVIC::unmask, has the correct unsafety setting:
it's an `unsafe` function.
|
|
147: Remove debug_assert from Peripherals::steal r=thejpster a=mvirkkunen
This is the same change as https://github.com/rust-embedded/svd2rust/pull/238, except for the one bit that isn't generated by svd2rust. There was a decent amount of discussion about this over at that issue, and to me it makes sense to change this here as well. It's `unsafe`, so let the user decide if they want to use it.
Co-authored-by: Matti Virkkunen <mvirkkunen@gmail.com>
|
|
|
|
140: Cargo.toml: Add `links = "cortex-m"` r=therealprof a=jonas-schievink
This prevents linking multiple versions of `cortex-m` together, which would be
unsound. Currently it uses a `#[no_mangle]` static for this, which isn't always
reliable.
Fixes #137
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
|
|
141: Derive Debug, PartialEq and Eq for more types r=therealprof a=jonas-schievink
Closes #28
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
|
|
|
|
|
|
138: scb: add static version of system_reset as sys_reset r=korken89 a=hdhoang
As suggested in https://github.com/ah-/anne-key/pull/94. I branched this off v0.5.8 to verify the function in that PR, and against rtfm v0.3 in https://github.com/hdhoang/anne-key/commit/d6fb831cbbb46bc10a6184b78bf13e00245234d6
I have cloned the body of `system_reset`, do you think we should call one from the other (e.g. ignoring `self` in `system_reset`, or stealing `Peripherals` in `system_reset2`)?
Co-authored-by: Hoàng Đức Hiếu <code@hdhoang.space>
|
|
|
|
|