xistor 910619de4c fix missing semicolon | hai 1 ano | |
---|---|---|
.. | ||
Makefile | %!s(int64=5) %!d(string=hai) anos | |
Makefile.clang | %!s(int64=2) %!d(string=hai) anos | |
Makefile.gcc | %!s(int64=2) %!d(string=hai) anos | |
OLVASSEL.md | %!s(int64=6) %!d(string=hai) anos | |
README.md | %!s(int64=6) %!d(string=hai) anos | |
delays.c | hai 1 ano | |
delays.h | %!s(int64=6) %!d(string=hai) anos | |
gpio.h | %!s(int64=6) %!d(string=hai) anos | |
kernel8.img | %!s(int64=4) %!d(string=hai) anos | |
link.ld | %!s(int64=6) %!d(string=hai) anos | |
main.c | %!s(int64=6) %!d(string=hai) anos | |
mbox.c | %!s(int64=6) %!d(string=hai) anos | |
mbox.h | %!s(int64=6) %!d(string=hai) anos | |
power.c | %!s(int64=6) %!d(string=hai) anos | |
power.h | %!s(int64=6) %!d(string=hai) anos | |
start.S | %!s(int64=3) %!d(string=hai) anos | |
uart.c | %!s(int64=3) %!d(string=hai) anos | |
uart.h | %!s(int64=6) %!d(string=hai) anos |
For embedded systems, power consumption is critical. The Raspberry Pi 3 has a very sophisticated PM interface. You can turn each device on and off idependently. There's a catch though, the GPIO VCC pins are hardwired, there's no way to turn them off programatically. This means if you connect some devices to them, you'll have to implement a way to turn those devices off (with a transistor connected to a data GPIO pin for example).
The power management controller is one of the peripherals that are not emulated properly by qemu. Works on real hardware though.
power_off()
shutdowns the board to a almost zero power consumption state.
reset()
reboots the machine. Also handled by the PMC, and since the Raspberry Pi does not have
a hardware reset button, it's very useful.
We display a simple menu, and wait for user input. Depending on the input, we reboot the system or power it off.