flâneur — a map of the web's best reading

cs140e-24win/notes/devices/DEVICES.md at main · dddrrreee/cs140e-24win

github.com · 4,723 words · saved by 1 readers

This note gives a give a crash course in thinking about devices and their datasheets. It's both incomplete and yet somewhat repetitive with both itself and the GPIO writeup. But hopefully better than nothing. Table of Contents: Each hardware device an operating system supports requires a "device driver" that can configure and use the device. Since there are thousands of devices, there are thousands of drivers. Because of device numbers and device complexity, about 90% of Linux or BSD is device drivers. However, weirdly, not much gets written about driver code other than to sneer at its high number of bugs or low elegance. While you can find tens of thousands of research papers and hundreds of book chapters on "core" operating system topics such as virtual memory, processes or file systems, comparatively little gets written about devices despite them making up the monster proportion of the code. Partly this is because devices are necessarily ad hoc. Among other things, this makes it har

Crash course: devices and datasheets (using GPIO as an example) NOTE: still editing: send any feedback This note gives a give a crash course in thinking about devices and their datasheets. It's both incomplete and yet somewhat repetitive with both itself and the GPIO writeup. But hopefully better than nothing. Table of Contents: Crash course: Devices What is a device driver The first rule of devices: errata Expectations and heuristics for datasheets Device access = remote procedure calls Device configuration is not instantaneous Interrupts versus polling for device events . Device memory + com

Explore this link on the map →

related reading