Skip to content
master
Go to file
Code

Latest commit

2027: Remove duplicated code in cortex-m crates r=ppannuto a=bradjc

### Pull Request Overview

Having copies of code in cortex-m3 and cortex-m4 is more and more unmaintainable, and with cortex-m7 coming it will only get worse. This moves duplicated code to a shared crate, and then specific crates can re-export it.

This is kind of a placeholder PR, more should be done here when other PRs are merged.


### Testing Strategy

todo


### TODO or Help Wanted

This pull request still needs...


### Documentation Updated

- [x] Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [ ] Ran `make prepush`.


2074: Add ability to get full address bytes & address type to nrf52 Ficr r=ppannuto a=daboross

### Pull Request Overview

This adds the ability to get the full address as bytes (as opposed to part of the address, or the full address as a string), and a secondary function to get the address type.

I'm mainly interested in using this in order to use the device's address as the device's Bluetooth LE address.

I added the "full_address" function alongside the existing address function for backwards compatibility, but I think it might be better overall to expose just one function returning a `[u8; 6]`. As far as I can tell from the documentation, deviceaddr0 and deviceaddr1 are always meant to be used as a pair?

### Testing Strategy

Printing the device address & address type on a local nrf52840dk module

### TODO or Help Wanted

### Documentation Updated

- [x] Updated the relevant files in `/docs`, or no updates are required.

### Formatting

- [x] Ran `make prepush`.


Co-authored-by: Brad Campbell <bradjc5@gmail.com>
Co-authored-by: Hudson Ayers <hayers@stanford.edu>
Co-authored-by: David Ross <David.Ross@wdc.com>
517ab5a

Git stats

Files

Permalink
Failed to load latest commit information.

README.md

TockOS

tock-ci slack

Tock is an embedded operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M and RISC-V based embedded platforms. Tock's design centers around protection, both from potentially malicious applications and from device drivers. Tock uses two mechanisms to protect different components of the operating system. First, the kernel and device drivers are written in Rust, a systems programming language that provides compile-time memory safety, type safety and strict aliasing. Tock uses Rust to protect the kernel (e.g. the scheduler and hardware abstraction layer) from platform specific device drivers as well as isolate device drivers from each other. Second, Tock uses memory protection units to isolate applications from each other and the kernel.

Learn More

How would you like to get started?

Learn How Tock Works

Tock is documented in the doc folder. Read through the guides there to learn about the overview and design of Tock, its implementation, and much more.

Use Tock

Follow our getting started guide to set up your system to compile Tock.

Head to the hardware page to learn about the hardware platforms Tock supports. Also check out the Tock Book for a step-by-step introduction to getting Tock up and running.

Find example applications that run on top of the Tock kernel written in both Rust and C.

Develop Tock

Read our getting started guide to get the correct version of the Rust compiler, then look through the /kernel, /capsules, /chips, and /boards directories. There are also generated source code docs.

We encourage contributions back to Tock and are happy to accept pull requests for anything from small documentation fixes to whole new platforms. For details, check out our Contributing Guide. To get started, please do not hesitate to submit a PR. We'll happily guide you through any needed changes.

Keep Up To Date

Check out the blog where the Talking Tock post series highlights what's new in Tock. Also, follow @talkingtock on Twitter.

You can also browse our email group and our Slack to see discussions on Tock development.

Code of Conduct

The Tock project adheres to the Rust Code of Conduct.

All contributors, community members, and visitors are expected to familiarize themselves with the Code of Conduct and to follow these standards in all Tock-affiliated environments, which includes but is not limited to repositories, chats, and meetup events. For moderation issues, please contact members of the @tock/core-wg.

License

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

You can’t perform that action at this time.