Commit graph

127 commits

Author SHA1 Message Date
Henrik Tjäder
fca678b874 Use buildrs for conditional compilation 2020-04-20 16:03:49 +00:00
bors[bot]
60c14ef680
Merge #294
294: use the safe DWT::unlock API r=korken89 a=japaric

instead of a unsafe write_volatile call

Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2020-01-24 15:45:14 +00:00
Jorge Aparicio
60639b3a9c use the safe DWT::unlock API
instead of a unsafe write_volatile call
2020-01-21 22:13:23 +01:00
Per Lindgren
ebd62215ff Bumped version to 0.5.1, cyccntr bugfix 2019-11-18 16:38:52 +01:00
Jorge Aparicio
4fcb6ab7cc v0.5.0 final release 2019-11-14 17:47:17 -05:00
Jorge Aparicio
31b392fe3a CI: replace compiletest-rs with trybuild
We use compiletest to run compile-fail tests but compiletest depends on compiler
internals so it breaks every now and then and requires nightly. With trybuild we
can also run compile-fail tests but it works on stable and it already has
reached version 1.0
2019-11-06 19:05:37 -05:00
Jorge Aparicio
eb2ec7a4c8 v0.5.0 beta release 2019-10-15 16:35:00 -05:00
Jorge Aparicio
7f1b493c7d turn git deps into crates.io deps 2019-09-15 22:57:43 +02:00
Emil Fresk
f787d82d92 Updated links in README for rtfm.rs 2019-09-15 21:26:30 +02:00
Jorge Aparicio
c8197f524e fix gh-pages build 2019-09-15 20:19:48 +02:00
Jorge Aparicio
45f9faae9c document #[app] 2019-08-21 12:19:38 +02:00
Jorge Aparicio
bd942e9835 fix Cargo.toml 2019-08-21 11:03:12 +02:00
Jorge Aparicio
2f4f185778 use a stable heapless release 2019-07-12 01:41:57 +02:00
Jorge Aparicio
e2323dd370 bump dependencies 2019-07-11 13:46:49 +02:00
Jorge Aparicio
b150ab29e2 homogeneous mode doesn't depend on microamp 2019-06-18 10:40:43 +02:00
Jorge Aparicio
9897728709 add homogeneous multi-core support 2019-06-18 10:31:31 +02:00
Jorge Aparicio
81275bfa4f rtfm-syntax refactor + heterogeneous multi-core support 2019-06-13 23:56:59 +02:00
Jorge Aparicio
30d6327001 bump heapless dependency to v0.5.0; remove "nightly" feature
with the upcoming version of heapless we are able to initialize all internal
queues in const context removing the need for late initialization

this commit also removes the "nightly" feature because all the optimization
provided by it are now enabled by default
2019-05-21 15:22:25 +02:00
Jorge Aparicio
ccd7f4586b book: indirection for faster message passing 2019-05-01 21:32:00 +02:00
Jorge Aparicio
a452700628 implement RFCs 147 and 155, etc.
This commit:

- Implements RFC 147: "all functions must be safe"

- Implements RFC 155: "explicit Context parameter"

- Implements the pending breaking change #141: reject assign syntax in `init`
  (which was used to initialize late resources)

- Refactors code generation to make it more readable -- there are no more random
  identifiers in the output -- and align it with the book description of RTFM
  internals.

- Makes the framework hard depend on `core::mem::MaybeUninit` and thus will
  require nightly until that API is stabilized.

- Fixes a ceiling analysis bug where the priority of the system timer was not
  considered in the analysis.

- Shrinks the size of all the internal queues by turning `AtomicUsize` indices
  into `AtomicU8`s.

- Removes the integration with `owned_singleton`.
2019-05-01 20:49:25 +02:00
Jorge Aparicio
a562fb3232 v0.4.3 2019-04-21 18:20:57 +02:00
Jorge Aparicio
10d2638488 [NFC] fix nightly ci 2019-04-16 23:17:28 +02:00
Jorge Aparicio
3310f507c0 v0.4.2 2019-02-27 00:56:56 +01:00
Jorge Aparicio
88078e7770 add "nightly" feature 2019-02-19 12:37:25 +01:00
Jorge Aparicio
197d5264c4 update documentation link in crate metadata 2019-02-14 21:41:24 +01:00
Jorge Aparicio
aadd00c068 bump macros version 2019-02-12 17:29:50 +01:00
Jorge Aparicio
8890f10e1c v0.4.1 2019-02-12 11:28:34 +01:00
Jorge Aparicio
313a2074d7 make docs.rs build docs with +timer-queue 2018-12-17 01:42:53 +01:00
Jorge Aparicio
d98f6c9a61 v0.4.0 2018-12-16 21:19:19 +01:00
Jorge Aparicio
9757c33b00 use the single core variant of spsc::Queue 2018-12-16 01:11:54 +01:00
Jorge Aparicio
8ac60ce369 bump cortex-m-rt dep 2018-12-15 22:40:45 +01:00
Jorge Aparicio
35bb76ef5f codegen: stop using export_name
`export_name` creates external symbols that won't be removed when using `-Z
emit-stack-sizes`
2018-12-02 17:43:36 +01:00
Jorge Aparicio
9d0227bfeb 0.4.0-beta.2 2018-11-04 20:12:31 +01:00
Jorge Aparicio
a279218295 use new cortex_m_semihosting::hprintln macro 2018-11-04 19:57:39 +01:00
Jorge Aparicio
c631049efc v0.4.0
closes #32
closes #33
2018-11-03 17:16:55 +01:00
Jorge Aparicio
653338e799 v0.3.4 2018-08-27 14:55:09 +02:00
Jorge Aparicio
2ec5d59ee9 v0.3.3 2018-08-24 16:49:03 +02:00
Jorge Aparicio
53dbbad891 v0.3.2 2018-04-16 23:33:55 +02:00
Jorge Aparicio
8767f625d8 switch to a crates.io release of rtfm-syntax 2018-04-16 23:22:01 +02:00
Jorge Aparicio
bf94be9f7e specify both the path and version of the cortex-m-rtfm-macros dependency 2018-01-16 00:15:07 +01:00
Jorge Aparicio
d8eb3eac75 fix documentation link 2018-01-15 23:58:04 +01:00
Jorge Aparicio
def4fc8079 v0.3.0 2018-01-15 23:33:09 +01:00
Jorge Aparicio
f695bdb7e9 fix the compiletest_rs version 2018-01-11 16:03:41 +01:00
Jorge Aparicio
6e3b9a30fd switch to a stable release of compiletest_rs 2018-01-11 15:46:38 +01:00
Jorge Aparicio
2249985e81 use master branch of cortex-m 2018-01-11 15:46:27 +01:00
Jorge Aparicio
c94bd2d98d add a Cargo feature, cm7-r0p1, to fix a Cortex-M7 BASEPRI erratum 2017-12-23 21:49:15 +01:00
Jorge Aparicio
a238fd5dc7 switch to a compiletest version that works with the latest nightly 2017-12-23 11:35:56 +01:00
Jorge Aparicio
88f505369c switch to master branches 2017-12-23 11:17:03 +01:00
Jorge Aparicio
219e172680 drop the Static wrapper 2017-12-09 17:15:15 +01:00
Jorge Aparicio
e97afa71ce peripherals as scoped singletons 2017-12-09 12:45:57 +01:00
Jorge Aparicio
8e523d036c fix cfail tests 2017-12-08 13:28:27 +01:00
Jorge Aparicio
948e1fd0fb v0.2.2 2017-11-22 09:29:01 +01:00
Jonas Schievink
ee59e8711f Bump stm32f103xx version
Fixes compilation on x86-64
2017-09-22 13:44:36 +02:00
Jonas Schievink
57ed0963ff Use untagged_option crate 2017-09-06 19:06:43 +02:00
Jonas Schievink
7ebba49644 Allow initialization of resources in init. 2017-09-03 18:19:21 +02:00
Jorge Aparicio
a43c8a4d57 v0.2.1 2017-07-29 01:50:04 -05:00
Jorge Aparicio
6160548153 v0.2.0 2017-07-29 01:17:54 -05:00
Jorge Aparicio
2d80f3631b update examples 2017-07-29 00:46:38 -05:00
Jorge Aparicio
0b5afce771 refactor Resource / Threshold into its own crate, drop task!, tweak rtfm::atomic
task! can be re-added in a backward compatible fashion and I'd like to not have
two ways to assign a task handler to an interrupt / exception in the first
release.

rtfm::atomic now uses the `Threshold` token instead of the `CriticalSection`
token. This reduces overhead by dropping the "are interrupts enabled?" check.
2017-07-27 11:37:58 -05:00
Jorge Aparicio
749ce810d5 bump the static-ref dependency 2017-07-23 21:08:52 -05:00
Jorge Aparicio
c7b9507a57 Resource trait, docs, examples and rtfm-syntax related changes 2017-07-20 22:53:44 -05:00
Jorge Aparicio
6577f4a91a bump cortex-m version to v0.3.1
barrier! is no longer needed
2017-07-20 16:13:02 -05:00
Jorge Aparicio
1f1cf84ab4 add cfail tests 2017-07-18 15:14:39 -05:00
Jorge Aparicio
59afbf02aa compiler plugin -> proc macro 2017-07-11 23:44:54 -05:00
Jorge Aparicio
86a360a396 rtfm! macro take 2 2017-07-04 11:26:11 -05:00
Jorge Aparicio
2bf5401439 v0.1.1 2017-06-05 21:05:29 -05:00
Jorge Aparicio
5cecc12d4c v0.1.0 2017-05-09 09:04:35 -05:00
Jorge Aparicio
fc4cb7d472 replace the ceiling token with a preemption threshold token 2017-05-08 12:05:42 -05:00
Jorge Aparicio
25f959d329 add categories 2017-04-27 15:37:27 -05:00
Jorge Aparicio
4992db7877 more docs, remove Ceiling / Priority / Level traits 2017-04-21 00:24:54 -05:00
Jorge Aparicio
a94de6bafc wrap references to resources in static-ref's Ref/RefMut
to assert that they point to `static` data
2017-04-14 10:19:08 -05:00
Jorge Aparicio
595404c5ff compile time verified ceilings 2017-04-09 22:42:17 -05:00
Jorge Aparicio
185f368d63 use volatile read/writes for checked::Resource.locked 2017-04-07 18:57:13 -05:00
Jorge Aparicio
f2bab47aa4 allow returns from checked::Resource.lock{,mut}
also add compiler barriers
2017-04-07 18:14:48 -05:00
Jorge Aparicio
441a822780 use stable release of the cortex-m crate 2017-03-12 11:19:43 -05:00
Jorge Aparicio
d88a15fb25 adapt to changes in cortex-m, verify the input of the priority function 2017-03-08 08:10:58 -05:00
Jorge Aparicio
aba9333799 initial commit 2017-03-05 00:29:08 -05:00