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