aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-09-05Merge #339Gravatar bors[bot] 1-1/+1
339: Fix AIRCR PRIGROUP mask r=thejpster a=msamsonoff Closes #338 Co-authored-by: Matthew W. Samsonoff <matt.samsonoff@gmail.com>
2021-08-30Replace URL-relative doc links with intra-doc linksGravatar Alex Martens 2-2/+2
2021-08-14Add DWT.set_cycle_countGravatar Alex Martens 1-0/+7
2021-08-14Deprecate get_cycle_count in favor of cycle_countGravatar Alex Martens 2-2/+13
This follows the rust C-GETTER API guidelines.
2021-08-08Add support for additional DWT countersGravatar Alex Martens 1-1/+154
This adds support for these counters: * CPI counter * Exception overhead counter * LSU counter * Folded-instruction counter
2021-07-25Add pre-requisites for enabling the cycle counter to docsGravatar Alex Martens 1-0/+7
2021-06-12Update src/delay.rsGravatar David O'Connor 1-0/+1
Co-authored-by: Vadim Kaushan <admin@disasm.info>
2021-06-12Use from instead of asGravatar David O'Connor 1-5/+5
2021-06-12remove inline on delay_us, and made u32 conversion syntax consistentGravatar David O'Connor 1-5/+4
2021-06-12Use . syntax instead of :: on delay_msGravatar David O'Connor 1-4/+4
2021-06-12Use overflow-workaround on delay_msGravatar David O'Connor 1-7/+9
2021-06-12Remove dependence on embedded-hal for DelayGravatar David O'Connor 1-10/+16
2021-04-25Update warning about linker-plugin-lto not working with -Os/-OzGravatar Rahix 1-2/+2
This was fixed in rust 1.49 already, fortunately. But as the MSRV is still 1.38 we cannot drop the warning entirely yet.
2021-04-19Fix AIRCR PRIGROUP maskGravatar Matthew W. Samsonoff 1-1/+1
2021-03-19Compile the `mpu::RegisterBlock` struct on all targetsGravatar dimpolo 1-1/+1
closes https://github.com/rust-embedded/cortex-m/issues/336
2021-02-19Remove an extra function call in `primask::read`Gravatar yvt 1-5/+1
There doesn't seem to be any reason why the call to `__primask_r` should be wrapped by another function call.
2021-01-07Merge #313Gravatar bors[bot] 9-17/+0
313: Remove excessive #[allow(clippy::missing_inline_in_public_items)] r=adamgreig a=jonas-schievink Closes https://github.com/rust-embedded/cortex-m/issues/179 Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-01-07Remove excessive missing_inline_in_public_itemsGravatar Jonas Schievink 9-17/+0
2021-01-07Fix timing of asm-based delay implementationGravatar Jonas Schievink 1-5/+3
2020-12-03Update msp::write deprecation messageGravatar Jonas Schievink 1-1/+1
2020-12-02Deprecate msp::writeGravatar Jonas Schievink 1-0/+1
2020-12-02Update src/asm.rsGravatar Adam Greig 1-1/+1
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-02asm.bootstrap: only set CONTROL.SPSEL, mark as divergentGravatar Adam Greig 1-10/+14
2020-12-02Expose __syscall and add new bootstrap methodGravatar Adam Greig 1-0/+41
2020-11-10Remove useless deprecation warning on InterruptNumber ifor NrGravatar Adam Greig 1-4/+0
2020-10-26Add missing #[inline]Gravatar Jonas Schievink 1-0/+1
2020-10-26Format everythingGravatar Jonas Schievink 5-11/+25
2020-10-02Add some Armv8-M assembly routinesGravatar Hugues de Valon 2-0/+28
Adds access to MSP_NS and the BXNS instruction. Also adds __dsb which was missing. Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2020-09-20Implement InterruptNumber for bare_metal::NrGravatar Adam Greig 1-1/+10
2020-08-31Update documented MSRVGravatar Jonas Schievink 1-1/+1
2020-08-29Merge asm implementationsGravatar Jonas Schievink 18-752/+120
2020-08-27Merge #259Gravatar bors[bot] 1-0/+26
259: Rust assembly stubs r=thalesfragoso a=jonas-schievink Disclaimer: I have not tested any of this (help wanted, we have no tests in here). Thanks to @therealprof for nerd-sniping me into oblivion. Fixes https://github.com/rust-embedded/cortex-m/issues/254 Fixes https://github.com/rust-embedded/cortex-m/issues/194 Fixes https://github.com/rust-embedded/cortex-m/issues/139 # Summary * Remove the assembly files in favor of a new `asm.rs`, which uses unstable inline assembly and provides a C ABI interface. * Replace the shell scripts by a [`cargo-xtask`](https://github.com/matklad/cargo-xtask/). * While we're at it, also pre-build artifacts that are compatible with linker-plugin LTO, fixing https://github.com/rust-embedded/cortex-m/issues/139 (again, not tested) This means that contributors and maintainers just need ~~a nightly Rust compiler installed~~ to run `cargo xtask assemble`. No binutils, no assembler, no `ar`, no GCC/Clang, and especially nothing from the godawful Arm servers, fixing https://github.com/rust-embedded/cortex-m/issues/194. You don't even have to install the correct nightly Rust toolchain, `cargo xtask` does it for you (and installs all the thumb targets too). Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-08-27Remove outdated TODOGravatar Jonas Schievink 2-3/+3
2020-08-27Move feature docs to lib.rs and improve themGravatar Jonas Schievink 1-0/+26
2020-08-25Moar full stops.Gravatar Vadim Kaushan 1-4/+4
2020-08-24Add preludeGravatar Vadim Kaushan 2-0/+4
2020-08-24Update src/delay.rsGravatar Vadim Kaushan 1-1/+1
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-08-23Provide a delay driver based on SysTickGravatar Vadim Kaushan 2-0/+120
2020-07-27Peipheral deref/ptr APIs now use associated const PTRGravatar JOE1994 1-30/+30
2020-07-27rename associated consts to 'PTR'Gravatar JOE1994 1-14/+14
2020-07-27add ptr to registerblock as associated constantGravatar JOE1994 1-14/+56
This commit introduces new associated constants to Core Peripherals. (pointers to the register block) This commit also adds a notice that 'ptr()' APIs will be deprecated in v0.7.
2020-07-27make 'fn ptr()' APIs to be 'const fn ptr()'Gravatar JOE1994 1-15/+15
2020-07-22Merge #241Gravatar bors[bot] 2-34/+53
241: Add new InterruptNumber trait r=therealprof a=adamgreig This is a first go at the new trait needed for https://github.com/rust-embedded/svd2rust/pull/455 since we removed `Nr` from bare-metal. In this case I've written it as `unsafe trait InterruptNumber: Into<u16>` rather than providing a conversion method inside the trait; I think this is neat and idiomatic but please correct me if there's a reason to not do it like this. [Here's](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=4f2f8b9604b5a62298f9907780d844c7) a playground link showing an example implementation. Co-authored-by: Adam Greig <adam@adamgreig.com>
2020-07-21please clippyGravatar Thales Fragoso 1-2/+2
2020-07-21Remove unused import in thumbv6Gravatar Thales Fragoso 1-1/+3
2020-07-21Add new InterruptNumber traitGravatar Adam Greig 2-34/+53
2020-07-18Correct typo in RASR register aliasesGravatar R. Kyle Murphy 2-9/+9
Fixes the typo in the a1, a2, and a3 aliases of the RASR MPU register.
2020-07-12Allow the taken flag to be optimized outGravatar Jonas Schievink 1-3/+6
2020-07-09Expand iff and reword last sentenceGravatar Daniel Egger 1-2/+2
Signed-off-by: Daniel Egger <daniel@eggers-club.de>
2020-07-09Change spelling of initialisation to AEGravatar Daniel Egger 1-1/+1
Signed-off-by: Daniel Egger <daniel@eggers-club.de>