Yonghyun
2482fa3c56
Update build_all.sh ( #678 )
...
* Update build_all.sh
The path, $ANDROID_BUILD_TOP and/or $ANDROID_PRODUCT_OUT, can contain spaces, which results in error. As long as shell var is not number, it is safe to enclose it with ""
* Enclose full shell word in quotes
This is just a stylistic choice: I find it easier to parse a command line if the full shell word is in quotes.
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-05-25 08:51:12 +00:00
gregory langlais
176d9361d6
Fix a couple typos on the welcome page ( #668 )
...
fix a couple typos
- welcome page typos corrected
2023-05-24 14:15:46 +00:00
Semih Buyukgungor
dabf31d0ce
Fixing some typos ( #667 )
...
fix some typos
2023-05-24 08:15:08 +00:00
Dustin J. Mitchell
1c1c367940
Add a sentence about lifetime elision ( #663 )
...
add a sentence about lifetime elision
2023-05-23 11:31:35 -04:00
primeagen-rustaceans
cc813973b1
Update receiver.md ( #661 )
...
* Update receiver.md
Moving the sentence to the third point and requesting an example of `self` vs `mut self`.
* Update src/methods/receiver.md
Improved the tone of the sentence.
Co-authored-by: Martin Geisler <martin@geisler.net>
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-05-23 12:57:38 +00:00
primeagen-rustaceans
47f6a5dacf
Update lifetimes.md ( #660 )
...
Normally developers are aware of the simpler language of implicit vs explicit. By replacing elided with implicit readability of the application might be improved.
2023-05-23 11:54:01 +00:00
Jarrett
33f81d0610
Update rustc and cargo version information in running-locally.md ( #658 )
...
Also improves verbiage of a sentence, from "With this is in place, then follow..." to "With this in place, follow..."
2023-05-23 09:43:57 +00:00
Bryan Hitchcock
584e3ecd7d
Fix inconsistent code in unbounded.md ( #656 )
...
Update unbounded.md to address inconsistent code
Fix inconsistency between concurrency `unbounded.md` and `bounded.md` by using implicitly named arguments for both.
2023-05-23 11:36:58 +02:00
Victor Costan
032c7e3b6b
Fix typo in basic/syntax-static-and-const.md ( #650 )
...
Fix typo in basic/syntax-static-and-const.md.
2023-05-22 09:36:52 +01:00
Martin Geisler
f02facd56d
Add missing newlines around <details>
( #647 )
...
The newlines makes the text more uniform when extracted into the POT
file (spotted while doing #646 ).
2023-05-19 09:43:44 -04:00
rbehjati
83663daaa2
Add the description of the chat-app exercise ( #641 )
...
* Adds a description of the async chat exercise
* Simplifies the use of Error in chat-async
* Links the solution to the async chat exercise
* Removes the elevator exercise
2023-05-17 18:22:11 +01:00
Edward Liaw
8406697449
Add code for speaker notes in trait inheritance ( #643 )
...
Give code samples of trait inheritance and a blanket implementation.
Signed-off-by: Edward Liaw <edliaw@google.com>
2023-05-17 09:02:02 +00:00
Dustin J. Mitchell
caeabdae3e
Beginnings of an async chat exercise ( #627 )
...
* beginnings of an async chat exercise
* really basic solution
* format
2023-05-16 15:51:01 +00:00
Diogo Anderson
a788680d5e
Fixing a typo in a "details" close tag ( #638 )
2023-05-15 22:20:54 +00:00
Martin Geisler
490b20e245
Link badges to the main
branch ( #636 )
...
This is the only branch for which there is any expectation of
stability, so it makes sense to send people here.
2023-05-15 18:12:10 -04:00
Martin Geisler
0036843f0c
Fix typo in dining-philosophers-async.md ( #631 )
2023-05-12 14:34:11 +02:00
Martin Geisler
9c6bb081d4
Update "Running the course" based on latest experience ( #628 )
2023-05-11 17:23:01 +00:00
rbehjati
11571d0d1a
Add dining philosophers as an async exercise ( #624 )
...
* Adds dining philosophers as an async exercise
* Adds a solution for async dining philosophers
* Adds a solution page for the afternoon session on concurrency
2023-05-09 17:34:47 +01:00
Carlos Jimenez
ce7c5fdf22
Fix mistakes in book-library.rs ( #619 )
...
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-05-08 08:20:42 +00:00
Bradford Hovinen
5bbb68be2c
Add a file which references some useful crates to use for writing tests ( #617 )
...
* Add a slide referencing recommended testing crates
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-05-05 14:59:25 +00:00
Andrew Walbran
5a495a508e
Update Cargo.lock. ( #614 )
...
This was missed in #583 .
2023-05-05 11:25:45 +01:00
Tanuj
d83d1f1c48
Fix pluralisation inconsistency ( #612 )
2023-05-05 09:57:44 +02:00
Dustin J. Mitchell
d0bf0d7a44
Order Send/Sync before Arc/Mutex ( #605 )
...
The Arc/Mutex chapters mention Send/Sync in the speaker notes, and in
fact serve as good illustrations of the traits, so let's define the
traits before referencing them.
2023-05-05 09:50:17 +02:00
Andrew Walbran
9cff14ca31
Link arm-gic to main documentation page rather than crate page ( #610 )
2023-05-04 14:42:08 +00:00
Andrew Walbran
226aa21f3c
Use hyphen rather than underscore for gic-version ( #611 )
...
Older versions of QEMU seem to only accept a hyphen, while new versions accept either.
2023-05-04 15:41:15 +01:00
Andrew Walbran
93c1c814c3
Improve phrasing of comment ( #609 )
...
Some people interpreted the previous comment as meaning the RTC itself needed to be initialised or started somehow, but this is not the case.
2023-05-04 15:08:44 +01:00
Dustin J. Mitchell
cce3fff0d0
Minor fixes to async notes ( #607 )
...
* `join!( .., time::sleep(..))` isn't really a "timeout"
* Remove suggestion to make `sleep` take `&mut self`
I'm not sure what doing so demonstrates.
* Update src/async/control-flow/join.md
Co-authored-by: rbehjati <razieh@google.com>
---------
Co-authored-by: rbehjati <razieh@google.com>
2023-05-04 11:59:19 +00:00
Dustin J. Mitchell
1288d11adb
Fix title of 'Runtimes' ( #606 )
2023-05-04 07:56:43 -04:00
Martin Geisler
3b07b4768a
Add unit tests to Safe FFI exercise ( #588 )
2023-05-04 12:20:47 +02:00
Dustin J. Mitchell
09c996ad96
Move closures to the top level ( #604 )
...
move closures to the top level
2023-05-03 09:30:13 -04:00
Martin Geisler
841359f5df
Simplify methods slide ( #594 )
...
This tightens the language slightly. I also added a speaker note with
suggestions for more methods to add (if there is time).
2023-05-03 12:01:21 +02:00
Martin Geisler
789abc1028
Wrap comments at 80 columns ( #592 )
...
When teaching the class, I notice that these comments (which are
wrapped at 100 columns) cause a horizontal scrollbar which makes them
hard to read at a glance.
Here I wrapped them at 80 columns, which fits on the screen and which
avoids overly long lines.
2023-05-03 12:00:58 +02:00
Martin Geisler
4a09d053ac
Simplify fizz buzz slide ( #595 )
...
There is no need to introduce `match` here where we don’t have time to
talk about it in detail.
2023-05-03 09:56:58 +02:00
Martin Geisler
3b21053ff2
Cleanup references to "Day 4" ( #603 )
...
* Align outline with new spin-off course structure
With the new structure, the section on Android is a spin-off course
from the main 3-day course on Rust Fundamentals. The Bare-metal and
Concurrency days are spin-off courses in the same way.
* Explain new course structure
* Align Bare-Metal welcome page with other deep dives
* Merge Day 4 page into Course Structure page
* Remove Day 4 Welcome page
This aligns the Concurrency in Rust section with the Bare-Metal Rust
deep dive.
* Show subsections for Android deep dive
This aligns the Rust in Android section with the other deep dives.
* Clean up welcome page and README
We now cover async Rust and the course is no longer a four day course.
* Remove reference to the old Day 4
* Remove Day 4 references from exercises
2023-05-02 08:02:28 +02:00
Martin Geisler
c67922ce8c
Cleanup control flow slides ( #587 )
...
* Cleanup control flow slides
This avoids calling all the looping constructs “expressions” since
they all (except for `loop`) return trivial values.
---------
Co-authored-by: Dustin J. Mitchell <djmitche@google.com>
2023-04-29 03:12:24 +00:00
Martin Geisler
244e5b99c6
Provide more instructions in the library exercise ( #589 )
2023-04-29 05:11:12 +02:00
Martin Geisler
fc68829e14
Improve language around ownership of OsString
( #602 )
...
Based on discussion in #598 .
2023-04-28 10:00:07 +02:00
Martin Geisler
b051b04afa
Use explicit Arc::clone
instead of calling .clone()
method ( #596 )
...
This is to highlight that the clones are cheap: they run custom logic
in the reference counted type, they don’t do a deep clone.
2023-04-27 23:46:09 +02:00
Martin Geisler
6ade739651
Ensure code blocks are editable ( #597 )
...
We should default to making code blocks editable: this ensures
consistent syntax highlighting (see #343 ) and it allows the instructor
to freely edit anything they want.
2023-04-27 23:45:41 +02:00
Martin Geisler
5074b1751c
Hint at the list of conversions in FFI exercise ( #598 )
...
I see people struggle a lot with guessing why they need to convert
between all these types. The explanations here should help with that.
2023-04-27 23:45:15 +02:00
Martin Geisler
f895ffc5a8
Remove exotic string types from scalar type slide ( #593 )
...
When teaching the class, I’ve noticed that raw strings and byte
strings tend to cause confusion. The slide is meant to be a friendly
introduction and show how Rust is similar to other languages like C
and C++. Instead, the string types cause a ton of questions which are
unnecessary at this early point.
The information is still there, but now in the form of a speaker note.
2023-04-27 19:57:07 +02:00
Martin Geisler
c0d03bd86b
Consistently use err
for the error value ( #599 )
2023-04-27 19:10:49 +02:00
Andrew Walbran
9d4a34c501
Use smccc crate rather than psci in examples and exercise. ( #583 )
...
It was renamed.
2023-04-27 10:54:48 +01:00
John Scheible
c5d15edad4
Direct users to "smccc" crate rather than "psci" ( #578 )
...
psci's docs.rs page redirects users to `smccc` instead as the crate has been renamed.
2023-04-26 17:06:28 +01:00
Eric Ye
9187bf0b5e
Add some more hints to the bare-metal RTC exercise ( #581 )
...
* Add some more hints to the bare-metal RTC exercise
I and several others had some difficulties with this part of the problem, especially with regards to knowing where the RTC was wired up and how to fully enable the GIC / interrupts, so add this information to the exercise.
* Remove extra semicolon.
---------
Co-authored-by: Andrew Walbran <qwandor@google.com>
2023-04-25 09:46:37 +01:00
Dustin J. Mitchell
69a62ba227
Add a bit about 'use' ( #580 )
...
* Add a bit about 'use'
* fix paths
2023-04-24 18:51:23 +00:00
Dustin J. Mitchell
6744822454
Minor fixes ( #579 )
...
* order the Cat and Dog correctly in the vec
* make example editable
* patterns: capture vs. constant
* clarify notes on indexing a string
2023-04-24 14:46:38 -04:00
Andrew Walbran
4266078684
Add pkg-config
to list of packages ( #575 )
...
pkg-config is also required for the cargo install to work.
2023-04-21 20:29:18 +02:00
Matt Schulte
6a61829d85
Fix safe FFI exercise on macOS ( #572 )
...
* Fix safe FFI exercise on macOS
Use the macOS definition of dirent.
Fixes #570
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-04-21 03:10:12 +02:00
jaewan-github
e371fd7e54
Main - Fix bug in exercise solution ( #569 )
...
* Fix bug in the exercise solution
Window may be nested, so its width should also consider border size.
2023-04-20 18:04:33 +02:00
Andrew Walbran
c5863f6642
Add optional extension to RTC exercise ( #562 )
...
* Add methods to mask and clear interrupts.
* Start on GICv3 driver.
* Enable and use RTC interrupt.
* WFI
* Add newtype for interrupt ID.
* Add extension to use interrupt.
* Add method to send an SGI.
* Silence warnings about unused methods in provided drivers.
* Implement Debug manually for IntId.
It's useful to say what kind of interrupt it is.
* Acknowledge and log interrupt.
We should end it as well, but doing so results in a loop unless we first
clear the match.
* cargo fmt with imports_granularity = "module"
* Use arm-gic crate rather than including driver in the example.
2023-04-17 15:38:51 +01:00
Dustin J. Mitchell
d143528e07
Minor fix-ups to the async section. ( #566 )
...
These address some comments in #496 .
2023-04-16 19:20:24 -04:00
Andrew Walbran
87f1976589
cargo fmt with imports_granularity = "module" ( #564 )
2023-04-16 20:57:59 +02:00
Dustin J. Mitchell
0d30da7f23
Add an "async" session ( #496 )
...
* beginning of an Async section
* address review comments
* Add futures page (#497 )
NOTE: `mdbook test` does not allow code samples to reference other crates, so
they must be marked as `compile_fail`; see #175 .
* Add Runtimes & Tasks (#522 )
These concepts are closely related, and there's not much else to know
about runtimes other than "they exist".
This removes the bit about futures being "inert" because it doesn't
really lead anywhere.
* Async chapter (#524 )
* Add async channels chapter
* Async control flow
* Async pitfalls
* Separate in multiple chapters + add daemon section
* Merge reentering threads in blocking-executor
* async_trait
* Async fixes (#546 )
* Async: some ideas for simplifying the content (#550 )
* Simplify the async-await slide
* Shorten futures and move it up
* Add a page on Tokio
* Modifications to the async section (#556 )
* Modifications to the async section
* Remove the "Daemon" slide, as it largely duplicates the "Tasks" slide.
The introduction to the "Control Flow" section mentions tasks as a
kind of control flow.
* Reorganize the structure in SUMMARY.md to correspond to the directory
structure.
* Simplify the "Pin" and "Blocking the Executor" slides with steps in
the speaker notes to demonstrate / fix the issues.
* Rename "join_all" to "Join".
* Simplify some code samples to shorten them, and to print output rather
than asserting.
* Clarify speaker notes and include more "Try.." suggestions.
* Be consistent about where `async` blocks are introduced (in the
"Tasks" slide).
* Explain `join` and `select` in prose.
* Fix formatting of section-header slides.
* Add a note on async trait (#558 )
---------
Co-authored-by: sakex <alexandre@senges.ch>
Co-authored-by: rbehjati <razieh@google.com>
2023-04-14 14:06:50 +00:00
Dustin J. Mitchell
6c97e1a7be
Add a new async exercise: elevator simulation. ( #557 )
2023-04-13 16:26:57 +02:00
Andrew Walbran
d8e442b9cb
Extend bare metal afternoon exercise ( #561 )
...
* Add methods to set match register and check whether it matches.
* Add first extension to RTC exercise, using match register.
* No need for constants to be public.
2023-04-13 10:58:06 +01:00
Martin Geisler
5b316b8b5b
Prevent accidental publishing the link-checker exercise
2023-04-11 10:47:18 +01:00
Andrew Walbran
bf18b33e39
Use exerciser for day 4 exercises too.
2023-04-11 10:47:18 +01:00
Yuri Astrakhan
5cdb73387f
Inline format vars to make the format str simpler ( #551 )
2023-04-06 12:00:10 +02:00
Andrew Walbran
86d8c4ae54
Rename exercise template directory and archive.
2023-04-05 16:28:07 +01:00
Andrew Walbran
9375126b3c
Use comment rather than inline code to find filename.
2023-04-05 16:28:07 +01:00
Andrew Walbran
c17e8abbd7
Add links to exercise template archive.
2023-04-05 16:28:07 +01:00
Andrew Walbran
b85c893390
Explain entry point and entry.S
.
2023-04-05 15:13:10 +01:00
Andrew Walbran
2e94a80d9d
Discuss use of unsafe functions and safe wrappers.
2023-04-05 15:13:10 +01:00
Andrew Walbran
5068b1288d
Add notes about running examples.
2023-04-05 15:13:10 +01:00
Martin Geisler
907608c504
Format title consistently ( #526 )
2023-04-04 17:29:33 +02:00
Martin Geisler
a3eaeca212
Update scraper
dependency ( #547 )
...
* Update scraper dependency to 0.15.0
No code changes required because of this.
* Update dependencies in lock file
2023-04-04 14:27:46 +02:00
dependabot[bot]
64ee862f26
Bump spin from 0.9.6 to 0.9.8 in /src/bare-metal/alloc-example ( #544 )
...
Bumps [spin](https://github.com/mvdnes/spin-rs ) from 0.9.6 to 0.9.8.
- [Release notes](https://github.com/mvdnes/spin-rs/releases )
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mvdnes/spin-rs/commits )
---
updated-dependencies:
- dependency-name: spin
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 08:54:39 +02:00
dependabot[bot]
4338cd5744
Bump spin from 0.9.6 to 0.9.8 in /src/exercises/bare-metal/rtc ( #543 )
...
Bumps [spin](https://github.com/mvdnes/spin-rs ) from 0.9.6 to 0.9.8.
- [Release notes](https://github.com/mvdnes/spin-rs/releases )
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mvdnes/spin-rs/commits )
---
updated-dependencies:
- dependency-name: spin
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 08:54:30 +02:00
dependabot[bot]
b32af58a5f
Bump spin from 0.9.5 to 0.9.8 in /src/bare-metal/aps/examples ( #542 )
...
Bumps [spin](https://github.com/mvdnes/spin-rs ) from 0.9.5 to 0.9.8.
- [Release notes](https://github.com/mvdnes/spin-rs/releases )
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mvdnes/spin-rs/commits )
---
updated-dependencies:
- dependency-name: spin
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 08:54:20 +02:00
Yuri Astrakhan
acf2990243
Update if-let-expressions.md ( #540 )
...
* Update if-let-expressions.md
add a note about let-else expressions. Closes #536
* Remove old mention of let-else
* Indent code block to match the bullet point
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-04-03 12:04:26 +02:00
rbehjati
739b3a01e0
Restructure Day-3 morning ( #503 )
...
* Restructure Day-3 morning
2023-03-30 13:25:34 +01:00
Dustin J. Mitchell
780368b4f7
Minor fixes for Day 3 Morning ( #532 )
...
* don't explain default trait methods early
* talk about Iterator before IntoIterator
* Defer discussion of trait objects to that chapter
* be more specific about turbofish, in speaker notes
2023-03-28 15:42:56 -04:00
Andrew Walbran
8c56c949ef
Fix GCC package name.
2023-03-27 17:20:31 +01:00
Andrew Walbran
4427241ca7
cargo-binutils requires llvm-tools-preview
2023-03-27 17:20:31 +01:00
Andrew Walbran
aa1036af66
Add more hints for bare metal morning exercise.
2023-03-27 17:20:31 +01:00
Andrew Walbran
956c137e51
Format hints as bullet-points.
2023-03-27 17:20:31 +01:00
Andrew Walbran
d513109b92
Add Mac OS instructions for picocom too.
2023-03-27 17:20:31 +01:00
Andrew Walbran
6f83b97e69
Fix Markdown formatting.
2023-03-27 17:20:31 +01:00
Andrew Walbran
357f62e137
A compass doesn't tell us the temperature.
2023-03-27 17:20:31 +01:00
Andrew Walbran
8ed300d620
Fix Linux build of bare metal AP code.
2023-03-27 17:20:31 +01:00
Andrew Walbran
ae83778173
Show actual driver code on solution page.
2023-03-27 17:20:31 +01:00
Andrew Walbran
9c166d4e97
Set publish = false in examples and exercises.
2023-03-23 15:12:23 +00:00
Andrew Walbran
f8dea1df2f
Use title case in SUMMARY.
2023-03-23 15:12:23 +00:00
Andrew Walbran
fa56c70dcb
Get AP examples working on Mac OS too.
2023-03-23 15:06:23 +00:00
Andrew Walbran
fc36e40eef
Make base address constants a pointer rather than a usize.
2023-03-23 15:06:23 +00:00
Andrew Walbran
782313e16e
Add commands to run examples to speaker notes.
2023-03-23 15:06:23 +00:00
Andrew Walbran
72ff50e60b
Build bare-metal examples in presubmit.
2023-03-23 15:06:23 +00:00
Andrew Walbran
b670098ab1
Update Cargo.lock, and no need for beta toolchain.
2023-03-23 15:06:23 +00:00
Andrew Walbran
b2ce958f2e
Add pages about Android and vmbase.
2023-03-23 15:06:23 +00:00
Andrew Walbran
8aef12bf1d
Add page about spin.
2023-03-23 15:06:23 +00:00
Andrew Walbran
f5b6e47f31
Put tinyvec example inline.
2023-03-23 15:06:23 +00:00
Andrew Walbran
fb3fd3979c
Add RTC exercise.
2023-03-23 15:06:23 +00:00
Andrew Walbran
8b21f5070e
Add page about inline assembly.
2023-03-23 15:06:23 +00:00
Andrew Walbran
f293ede958
Add page about tinyvec.
2023-03-23 15:06:23 +00:00
Andrew Walbran
8d1f903202
Add MacOS instructions.
2023-03-23 15:06:23 +00:00
Andrew Walbran
56319e016b
Add page about buddy_system_allocator.
2023-03-23 15:06:23 +00:00
Andrew Walbran
f0043637e2
Write page about aarch64-paging.
2023-03-23 15:06:23 +00:00
Andrew Walbran
dc95bd1dae
Write page about zerocopy.
2023-03-23 15:06:23 +00:00
Andrew Walbran
f3edffd1a7
Fix mdbook test failure.
2023-03-23 15:06:23 +00:00
Andrew Walbran
ada6a53942
Improve makefile.
2023-03-23 15:06:23 +00:00
Andrew Walbran
31c7b283c2
Add example implementing logger.
2023-03-23 15:06:23 +00:00
Andrew Walbran
15518aa177
Add separate binary for minimal UART driver.
2023-03-23 15:06:23 +00:00
Andrew Walbran
d6027f5080
Add notes about traits.
2023-03-23 15:06:23 +00:00
Andrew Walbran
bc21369dcb
Add example of using UART driver.
2023-03-23 15:06:23 +00:00
Andrew Walbran
1f315da903
Write a more complete UART driver.
2023-03-23 15:06:23 +00:00
Andrew Walbran
f6fc0edb11
We need qemu-system-arm too.
2023-03-23 15:06:23 +00:00
Andrew Walbran
790f4c88d5
Add note about QEMU UART.
2023-03-23 15:06:23 +00:00
Andrew Walbran
c7831953bb
QEMU virt machine uses PL011 UART not 16550.
2023-03-23 15:06:23 +00:00
Andrew Walbran
08c0c53412
Add section about Android bare-metal Rust support.
2023-03-23 15:06:23 +00:00
Andrew Walbran
7eee892195
Start on AP UART driver example.
2023-03-23 15:06:23 +00:00
Andrew Walbran
76ad4b2939
Add first AP slide and mention other projects.
2023-03-23 15:06:23 +00:00
Andrew Walbran
dee3e64442
Start writing about MMIO.
2023-03-23 15:06:23 +00:00
Dustin J. Mitchell
3b538b582d
Add a brief mention of doc comments ( #509 )
2023-03-21 12:15:07 -04:00
dependabot[bot]
259dfcb1eb
Bump cortex-m-rt from 0.7.2 to 0.7.3 in /src/exercises/bare-metal/compass ( #517 )
...
Bump cortex-m-rt in /src/exercises/bare-metal/compass
Bumps [cortex-m-rt](https://github.com/rust-embedded/cortex-m ) from 0.7.2 to 0.7.3.
- [Release notes](https://github.com/rust-embedded/cortex-m/releases )
- [Changelog](https://github.com/rust-embedded/cortex-m/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-embedded/cortex-m/compare/v0.7.2...v0.7.3 )
---
updated-dependencies:
- dependency-name: cortex-m-rt
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-20 14:44:56 +00:00
Andrew Walbran
3b02b09901
Fix line numbers in debugging example.
2023-03-20 14:44:43 +00:00
Andrew Walbran
6dd2a9f002
Mention why we need extern crate panic_halt
.
2023-03-20 14:44:43 +00:00
dependabot[bot]
4f9b354019
Bump cortex-m-rt from 0.7.2 to 0.7.3 in /src/bare-metal/microcontrollers/examples ( #516 )
...
Bump cortex-m-rt in /src/bare-metal/microcontrollers/examples
Bumps [cortex-m-rt](https://github.com/rust-embedded/cortex-m ) from 0.7.2 to 0.7.3.
- [Release notes](https://github.com/rust-embedded/cortex-m/releases )
- [Changelog](https://github.com/rust-embedded/cortex-m/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-embedded/cortex-m/compare/v0.7.2...v0.7.3 )
---
updated-dependencies:
- dependency-name: cortex-m-rt
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-20 14:44:25 +00:00
Andrew Walbran
e31df488f3
Explain what the udev rule does.
2023-03-20 14:26:57 +00:00
Andrew Walbran
3afc10fbfd
cargo-embed needs libudev-dev.
2023-03-20 14:26:57 +00:00
Andrew Walbran
e2d7bc56ec
Add other files for compass exercise to exercise page.
2023-03-20 14:26:57 +00:00
Andrew Walbran
8513adfd3c
Add more hints for compass exercise.
2023-03-20 14:26:57 +00:00
Andrew Walbran
fe32d06862
Note where commands should be run.
2023-03-20 14:26:57 +00:00
Andrew Walbran
a070573867
Expand IMU acronym first time.
2023-03-20 14:26:57 +00:00
Andrew Walbran
52f0c9ef64
Rename Day 5A to Bare Metal Rust.
2023-03-20 14:26:57 +00:00
Andrew Walbran
ecbb7e41bb
Format imports with imports_granularity = "Module".
2023-03-20 14:26:57 +00:00
Andrew Walbran
94eafee6bb
Add more notes.
2023-03-20 14:26:57 +00:00
Andrew Walbran
f40261646c
Add option to display accelerometer rather than compass.
2023-03-20 14:26:57 +00:00
Andrew Walbran
8f2a851e95
Display accelerometer rather than compass.
2023-03-20 14:26:57 +00:00
Andrew Walbran
44a4b4b234
Display compass values on LEDs.
2023-03-20 14:26:57 +00:00
Andrew Walbran
82f4dab523
Get compass solution working and add more information.
2023-03-20 14:26:57 +00:00
Andrew Walbran
17bbf5f0b7
Explain how to run other examples too.
2023-03-20 14:26:57 +00:00
Andrew Walbran
53223d3581
Add page about debugging with cargo-embed.
2023-03-20 14:26:57 +00:00
Andrew Walbran
0c3664bef3
Add slide about probe-rs and cargo-embed.
2023-03-20 14:26:57 +00:00
Andrew Walbran
948c44b66d
Explain audience.
2023-03-20 14:26:57 +00:00
Andrew Walbran
b1fa8da341
Wrap comments in example at 80 columns to fit in code block.
2023-03-20 14:26:57 +00:00
Andrew Walbran
e751c30061
Add minimal microcontroller example.
2023-03-20 14:26:57 +00:00
Andrew Walbran
6490657dcf
Need to specify linker script for examples.
2023-03-20 14:26:57 +00:00
Andrew Walbran
2d64edf0d6
Explain a bit about example and how to run it.
2023-03-20 14:26:57 +00:00
Andrew Walbran
790597bae2
Mention that instructions are for Debian.
2023-03-20 14:26:57 +00:00
Andrew Walbran
271c4f36b1
Add udev rule for micro:bit.
2023-03-20 14:26:57 +00:00
Andrew Walbran
a5e784e010
Add more details about micro:bit.
2023-03-20 14:26:57 +00:00
Andrew Walbran
de1be63b82
Add more details about alloc.
2023-03-20 14:26:57 +00:00
Andrew Walbran
84cd822080
Speaker notes about TockOS and FreeRTOS.
2023-03-20 14:26:57 +00:00
Andrew Walbran
e123c08b00
Mention FreeRTOS bindings and Hubris.
2023-03-20 14:26:57 +00:00
Andrew Walbran
40d590b594
Use table layout for no_std page.
2023-03-20 14:26:57 +00:00
Andrew Walbran
005d6a5ed4
Mention micro:bit on welcome page.
2023-03-20 14:26:57 +00:00
Andrew Walbran
0fa73286b9
Add raw MMIO example.
2023-03-20 14:26:57 +00:00
Andrew Walbran
2545e40d21
Note use of embedded_hal trait.
2023-03-20 14:26:57 +00:00
Andrew Walbran
16b8efefa2
Add config for cargo-embed.
2023-03-20 14:26:57 +00:00
Andrew Walbran
2c8eb761c4
Use micro:bit v2 for PAC and HAL examples too.
2023-03-20 14:26:57 +00:00
Andrew Walbran
5ad0a593f8
Add board support crate example.
2023-03-20 14:26:57 +00:00
Andrew Walbran
b852b6195f
xgettext doesn't like formatting in SUMMARY.
2023-03-20 14:26:57 +00:00
Andrew Walbran
af0d97d1a7
Fix mdbook test.
2023-03-20 14:26:57 +00:00
Andrew Walbran
354834c711
Template, hint and extension for compass exercise.
2023-03-20 14:26:57 +00:00
Andrew Walbran
062129546a
Temperature logger is no more.
2023-03-20 14:26:57 +00:00
Andrew Walbran
95099e29a6
Mention tools to install.
2023-03-20 14:26:57 +00:00
Andrew Walbran
deff63f9a5
cargo-embed config
2023-03-20 14:26:57 +00:00
Andrew Walbran
78d1fc2836
Fill in solution for compass exercise.
2023-03-20 14:26:57 +00:00
Andrew Walbran
fb2a81186b
Initialise I2C bus.
2023-03-20 14:26:57 +00:00
Andrew Walbran
026cdca2b7
Use micro:bit v2 for temperature logger example.
2023-03-20 14:26:57 +00:00
Andrew Walbran
b8b387c504
Mention board support crates and other tools.
2023-03-20 14:26:57 +00:00
Andrew Walbran
b02af7be50
Keep alloc-example out of workspace.
2023-03-20 14:26:57 +00:00
Andrew Walbran
e21a83d5e8
Start or temperature logger exercise.
2023-03-20 14:26:57 +00:00
Andrew Walbran
5e0f4da4b3
Mention some other projects.
2023-03-20 14:26:57 +00:00
Andrew Walbran
baf81ee795
Note some supported devices.
2023-03-20 14:26:57 +00:00
Andrew Walbran
ac046661bf
Exclude imports and other boilerplate from page.
...
It was getting too long.
2023-03-20 14:26:57 +00:00
Andrew Walbran
100341aa9f
Add page about type-state pattern.
2023-03-20 14:26:57 +00:00
Andrew Walbran
65749777c9
Write about embedded-hal
2023-03-20 14:26:57 +00:00
Andrew Walbran
1d92abb1a7
Note lack of main function.
2023-03-20 14:26:57 +00:00
Andrew Walbran
120ef6331f
Write welcome page for bare-metal Rust.
2023-03-20 14:26:57 +00:00
Andrew Walbran
d507096d31
Mention svd2rust.
2023-03-20 14:26:57 +00:00
Andrew Walbran
f8f6922b0c
Add pages with PAC and HAL examples.
2023-03-20 14:26:57 +00:00
Andrew Walbran
780afddc11
Add example to turn on an LED.
2023-03-20 14:26:57 +00:00
Andrew Walbran
9068b63e76
Actually use panic_halt in example.
2023-03-20 14:26:57 +00:00
Andrew Walbran
d84c93010a
no_std examples won't build in mdbook test.
2023-03-20 14:26:57 +00:00
Andrew Walbran
8e009b9674
Remove reference to panic-abort.
...
It doesn't build with current rustc.
2023-03-20 14:26:57 +00:00
Andrew Walbran
0a2263451d
Add alloc example.
2023-03-20 14:26:57 +00:00
Andrew Walbran
2981d3856f
Mention panic-abort and panic-halt crates.
2023-03-20 14:26:57 +00:00
Andrew Walbran
f71a86d942
Add minimal no_std example.
2023-03-20 14:26:57 +00:00
Andrew Walbran
27820629e2
Rename section to bare metal.
2023-03-20 14:26:57 +00:00
Andrew Walbran
51ccf44f52
Add initial outline for bare-metal Rust day.
2023-03-20 14:26:57 +00:00
Andrew Walbran
daf25d094b
Make Miri happy ( #486 )
...
I think this is a better solution than #308 . It fixes the Miri error, and mostly keeps the original intent of demonstrating how to use raw pointers.
2023-03-15 23:18:12 +00:00
Andrew Walbran
7a22d5567a
Don't allocate in success case ( #506 )
...
`format!` was being called (and allocating a string) even in the success case.
2023-03-15 09:06:35 +01:00
Oliver Mannion
9ee562c267
Remove unnecessary Mutex::lock
from shared state example ( #499 )
...
It's not necessary to explicitly take the lock to print it.
2023-03-12 10:48:52 +01:00
Charisee Chiw
59d3d7f625
Indent code in speaker notes ( #476 )
...
* Indent code in speaker notes
#475
* Update stack.md
* Update destructuring-arrays.md
* Update hashmap.md
* Update traits.md
2023-03-11 14:12:32 -08:00
Daniel Gorelik
368f3ba302
The code block at https://google.github.io/comprehensive-rust/testing/unit-tests.html probably should not be runnable ( #498 )
2023-03-11 10:12:37 +01:00
Dustin J. Mitchell
bfed596d28
Generalize the day-4 afternoon ( #487 )
...
* Generalize the day-4 afternoon
This is in preparation for adding more options for this portion of the
course, and reflects an existing practice of substituting other
materials for this last half-day.
* address review comments
2023-03-10 09:07:36 -05:00
MMINO
ff66258c50
Fix typo in borrowing.md in the Speaker's Notes ( #490 )
...
the -> they
2023-03-09 14:13:04 +00:00
Charisee Chiw
3242afae09
Create default.md ( #370 )
...
* Create default.md
* Update SUMMARY.md
* Update SUMMARY.md
* Update default.md
* Update default.md
* Update default.md
2023-03-07 17:11:43 +01:00
Martin Geisler
64340562ea
Add badges to README and welcome page ( #481 )
2023-03-07 12:45:00 +00:00
Martin Geisler
31500974e4
Add note about requesting a room with tables ( #479 )
...
* Add note about requesting a room with tables
The course is built on the idea of using live-coding as much as possible. This means that it's important that there are desks in the classrooms — a traditional auditorium setup does not work well.
2023-03-06 15:23:10 +01:00
JeongHyeon Lee
05eb17a6fe
Fix typo in string.md ( #473 )
2023-03-04 17:22:04 +01:00
Andrew Walbran
a78d58ba56
Add note about hygienic macros ( #472 )
...
* Add note about hygienic macros
* Fix typo.
* Add link about macro hygiene.
2023-03-03 12:19:52 +00:00
Martin Geisler
2de8d7cdbb
Simplify running the course slightly ( #463 )
...
Thanks to many contributors, we now have lots of speaker notes.
2023-03-02 09:13:49 +01:00
Charisee Chiw
c22b35e426
Remove silenced warnings in book-library exercise ( #388 )
...
* Update book-library.md
* Update book-library.rs
* Apply suggestions from code review
Expanding the variable makes it ever-so-slightly easier to read.
---------
Co-authored-by: Martin Geisler <mgeisler@google.com>
2023-02-28 17:53:02 -08:00
Martin Geisler
1feb94e02a
Take out unnecessary code from enum size slide ( #309 )
...
The slide is way too large to comfortable use in a classroom. Instead
of printing six lines of output, the instructor should carefully walk
through the different examples. That way we can take the course
participants with us through the explanations instead of simply
showing them the end result.
2023-02-27 17:42:46 +01:00
Adam MacBeth
b1b78a9672
Fix typo in string.md ( #456 )
...
* Fix typo in string.md
* Update src/std/string.md
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-02-27 13:37:08 +00:00
Steve Masterman
0562771ce0
Update variant-payloads.md ( #459 )
...
Fix typo
2023-02-27 13:19:32 +00:00
Charisee Chiw
e73b163d77
Add to speaker notes rc.md ( #366 )
...
* Update rc.md
* Fix wording and formatting
* Update rc.md
---------
Co-authored-by: Andrew Walbran <qwandor@google.com>
2023-02-27 02:05:01 +00:00