Skip to content

Commit e5be797

Browse files
authored
Merge pull request #98 from andre-richter/patch-5
Add rust-raspberrypi-OS-tutorials content
2 parents 261bb7c + ba5a2eb commit e5be797

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed

content/this-month/2022-04/index.md

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ month = "April 2022"
77
authors = [
88
"phil-opp",
99
"toku-sa-n",
10-
"phip1611"
10+
"phip1611",
11+
"andre-richter"
1112
# add yourself here
1213
]
1314
+++
@@ -77,6 +78,41 @@ In this section, we describe updates to Rust OS projects that are not directly r
7778

7879
This month, ...
7980

81+
### [`rust-embedded/rust-raspberrypi-OS-tutorials`](https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials)
82+
83+
<span class="gray">(Section written by [@andre-richter](https://github.com/andre-richter))</span>
84+
85+
The [Operating System development tutorials in Rust on the Raspberry Pi](https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials) project
86+
saw two more tutorial releases:
87+
88+
- [Tutorial 17 - `Kernel Symbols`](https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials/tree/master/17_kernel_symbols)
89+
- [Tutorial 18 - `Backtracing`](https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials/tree/master/18_backtrace)
90+
91+
The two tutorials implement the generation of backtraces that show address and symbol information. Here is an example of the of a backtrace generated as part of the kernel's panic handler:
92+
93+
```console
94+
[ 0.002782] Writing to bottom of address space to address 1 GiB...
95+
[ 0.004623] Kernel panic!
96+
97+
Panic location:
98+
File 'kernel/src/_arch/aarch64/exception.rs', line 59, column 5
99+
100+
[...]
101+
102+
Backtrace:
103+
----------------------------------------------------------
104+
Address Function containing address
105+
----------------------------------------------------------
106+
1. ffffffffc0001294 | core::fmt::write
107+
2. ffffffffc0005560 | libkernel::panic_wait::_panic_print
108+
3. ffffffffc00054a0 | rust_begin_unwind
109+
4. ffffffffc0002950 | core::panicking::panic_fmt
110+
5. ffffffffc0004898 | current_elx_synchronous
111+
6. ffffffffc0000a74 | __vector_current_elx_synchronous
112+
7. ffffffffc000111c | kernel_init
113+
-----------------------------------------------------------
114+
```
115+
80116
## Join Us?
81117

82118
Are you interested in Rust-based operating system development? Our `rust-osdev` organization is always open to new members and new projects. Just let us know if you want to join! A good way for getting in touch is our [gitter channel](https://gitter.im/rust-osdev/Lobby).

0 commit comments

Comments
 (0)