Embedded systems 2/7 J.-M Friedt Introduction Virtual memory access Embedded systems 2/7 Kernel module basics Using the kernel: timers J.-M Friedt Conclusion & lab session FEMTO-ST/d´epartement temps-fr´equence
[email protected] slides at jmfriedt.free.fr September 9, 2020 1 / 24 Embedded systems 2/7 J.-M Friedt Operating system: the need for Introduction drivers Virtual memory access Kernel module basics Using the kernel: timers • Hardware abstraction: hide low level functions so that the developer Conclusion & lab session can focus on the functionalities provided by the peripheral ! a single entry point providing system calls (open, read, write, close) hiding access to hardware • Homogeneous interface to all peripherals (\Everything is a file") • Only the kernel can access hardware resources (DMA, interrupts) • Share resources and make sure only one process can access a given hardware function • Add functionalities to the Linux kernel: modules 2 / 24 Embedded systems 2/7 J.-M Friedt Virtual memory/hardware memory Introduction Hardware memory addressing Virtual memory • hardware memory: a value on the address bus identifies which access peripheral is active Kernel module basics • each peripheral decodes the address bus to detect whether it is the Using the kernel: target of a message timers • Conclusion & lab only one peripheral must match a given physical address (otherwise, session conflict) Virtual memory addressing • each process has its own address space • memory organization independent of physical constraints • dynamic loading