171: install-macos: remove Homebrew tap command r=therealprof a=vitorgalvao
You don’t need to
```bash
brew tap armmbed/formulae
brew install armmbed/formulae/arm-none-eabi-gcc
```
You either
```bash
brew tap armmbed/formulae
brew install arm-none-eabi-gcc
```
Or you
```bash
brew install armmbed/formulae/arm-none-eabi-gcc
```
Which taps and installs in a single command.
Co-authored-by: Vítor Galvão <info@vitorgalvao.com>
153: Update exceptions.md r=korken89 a=flip111
> You'll see that a load operation (ldr r0, [r0] ) caused the exception and that the value of the register r0 was 0x3fff_fffe at that time.
You can not see the value of the register from the disassembly. Therefor:
> This value matches the r0 field of ExceptionFrame.
`This` points to nothing. Nothing "matches". With the information given in the book the value can _only_ be seen in the ExceptionFrame.
Co-authored-by: flip111 <flip101@gmail.com>
142: Update qemu.md r=korken89 a=flip111
Add link to qemu wiki. As proof and also interested reader can see other architectures too.
151: Update exceptions.md r=korken89 a=flip111
that it's marked with `* *` already makes it have special significance. Let's link to an explanation
Co-authored-by: flip111 <flip101@gmail.com>
133: Update no-std.md r=korken89 a=flip111
* There is no high level OS this means there are no primitives <-- this is wrong because there can be primitives without high level OS otherwise it wouldn't be a "primitive"
* Using jargon "bare metal" without explaining it
* By marking our code with `no_std` we indicate that our code is capable of running in such an environment. <-- this wording makes it so that using `no_std` is the only requirement of having runnable code.
* Dynamic memory allocation can not be used --> not true, use crate (like described lower in the text)
135: Update install.md r=korken89 a=flip111
`For bandwidth and disk usage concerns the default installation only supports native compilation.`
I like what the default installation is doing, not downloading toolchains i don't need. Let's do the same for the book. At the same time, because the reader is just getting into embedded for rust, it's cool to see which toolchains for which CPU cores are already available. This gives a good feeling of control (which toolchain i can choose) and possibilities (many to choose from)
Co-authored-by: flip111 <flip101@gmail.com>
`For bandwidth and disk usage concerns the default installation only supports native compilation.`
I like what the default installation is doing, not downloading toolchains i don't need. Let's do the same for the book. At the same time, because the reader is just getting into embedded for rust, it's cool to see which toolchains for which CPU cores are already available. This gives a good feeling of control (which toolchain i can choose) and possibilities (many to choose from)
* There is no high level OS this means there are no primitives <-- this is wrong because there can be primitives without high level OS otherwise it wouldn't be a "primitive"
* Using jargon "bare metal" without explaining it
* By marking our code with `no_std` we indicate that our code is capable of running in such an environment. <-- this wording makes it so that using `no_std` is the only requirement of having runnable code.
* Dynamic memory allocation can not be used --> not true, use crate (like described lower in the text)
The 'apt' binary has appeared in apt 1.0 back in 2014 and has been
ever since the recommended tool to install packages on Debian based
systems. It makes little sense to recommend using 'apt-get' instead
of 'apt' when even the current Debian oldstable - jessie - has apt
>=1.0.9.8 and the Ubuntu 14.04 LTS - trusty - has apt
>=1.0.1ubuntu1.
Signed-off-by: Eddy Petrișor <eddy.petrisor@gmail.com>