update CI

This commit is contained in:
Jorge Aparicio 2017-07-20 23:03:45 -05:00
parent c7b9507a57
commit 0788a15a39
6 changed files with 49 additions and 31 deletions

View file

@ -1,3 +1,11 @@
[target.thumbv6m-none-eabi]
runner = 'arm-none-eabi-gdb'
rustflags = [
"-C", "link-arg=-Tlink.x",
"-C", "linker=arm-none-eabi-ld",
"-Z", "linker-flavor=ld",
]
[target.thumbv7m-none-eabi]
runner = 'arm-none-eabi-gdb'
rustflags = [
@ -5,3 +13,19 @@ rustflags = [
"-C", "linker=arm-none-eabi-ld",
"-Z", "linker-flavor=ld",
]
[target.thumbv7em-none-eabi]
runner = 'arm-none-eabi-gdb'
rustflags = [
"-C", "link-arg=-Tlink.x",
"-C", "linker=arm-none-eabi-ld",
"-Z", "linker-flavor=ld",
]
[target.thumbv7em-none-eabihf]
runner = 'arm-none-eabi-gdb'
rustflags = [
"-C", "link-arg=-Tlink.x",
"-C", "linker=arm-none-eabi-ld",
"-Z", "linker-flavor=ld",
]

View file

@ -1,7 +1,4 @@
dist: trusty
language: rust
services: docker
sudo: required
matrix:
include:
@ -20,7 +17,6 @@ before_install: set -e
install:
- sh ci/install.sh
- source ~/.cargo/env || true
script:
- bash ci/script.sh

View file

@ -1,27 +1,14 @@
set -ex
main() {
local target=
if [ $TRAVIS_OS_NAME = linux ]; then
target=x86_64-unknown-linux-musl
sort=sort
else
target=x86_64-apple-darwin
sort=gsort # for `sort --sort-version`, from brew's coreutils.
fi
# This fetches latest stable release
local tag=$(git ls-remote --tags --refs --exit-code https://github.com/japaric/cross \
| cut -d/ -f3 \
| grep -E '^v[0.1.0-9.]+$' \
| $sort --version-sort \
| tail -n1)
curl -LSfs https://japaric.github.io/trust/install.sh | \
sh -s -- \
--force \
--git japaric/cross \
--tag $tag \
--target $target
case $TARGET in
thumbv*-none-eabi*)
cargo install --list | grep xargo || \
cargo install xargo
rustup component list | grep 'rust-src.*installed' || \
rustup component add rust-src
;;
esac
}
main

View file

@ -2,12 +2,17 @@ set -ex
main() {
if [ $TARGET = x86_64-unknown-linux-gnu ]; then
cargo build
cargo test
return
fi
cross build --target $TARGET
cross build --target $TARGET --release
xargo build --target $TARGET
for ex in $(ls examples/*); do
ex=$(basename $ex)
ex=${ex%.*}
xargo build --target $TARGET --example $ex
done
}
main

View file

@ -63,6 +63,9 @@ task!(EXTI0, exti0);
fn exti0(t: &mut Threshold, r: EXTI0::Resources) {
// because this task has a priority of 1 the preemption threshold is also 1
let mut low = r.LOW;
let mut high = r.HIGH;
// A
rtfm::bkpt();
@ -70,7 +73,7 @@ fn exti0(t: &mut Threshold, r: EXTI0::Resources) {
rtfm::set_pending(Interrupt::EXTI1); // ~> exti1
// a claim creates a critical section
r.LOW.claim_mut(t, |_low, t| {
low.claim_mut(t, |_low, t| {
// this claim increases the preemption threshold to 2
// just high enough to not race with task `exti1` for access to the
// `LOW` resource
@ -90,7 +93,7 @@ fn exti0(t: &mut Threshold, r: EXTI0::Resources) {
rtfm::bkpt();
// claims can be nested
r.HIGH.claim_mut(t, |_high, _| {
high.claim_mut(t, |_high, _| {
// This claim increases the preemption threshold to 3
// now `exti2` can't preempt this task

View file

@ -65,6 +65,9 @@
//! fn exti0(t: &mut Threshold, r: EXTI0::Resources) {
//! // because this task has a priority of 1 the preemption threshold is also 1
//!
//! let mut low = r.LOW;
//! let mut high = r.HIGH;
//!
//! // A
//! rtfm::bkpt();
//!
@ -72,7 +75,7 @@
//! rtfm::set_pending(Interrupt::EXTI1); // ~> exti1
//!
//! // a claim creates a critical section
//! r.LOW.claim_mut(t, |_low, t| {
//! low.claim_mut(t, |_low, t| {
//! // this claim increases the preemption threshold to 2
//! // just high enough to not race with task `exti1` for access to the
//! // `LOW` resource
@ -92,7 +95,7 @@
//! rtfm::bkpt();
//!
//! // claims can be nested
//! r.HIGH.claim_mut(t, |_high, _| {
//! high.claim_mut(t, |_high, _| {
//! // This claim increases the preemption threshold to 3
//!
//! // now `exti2` can't preempt this task