ODKAZ: https://www.skoleni-kurzy.eu/kurz-54459



Kurz: Embedded Linux kernel and driver development


Tento kurz již byl smazán


Tento kurz pořádala firma: © ICT Pro s.r.o. – Kurzy, školení, konzultace ICT a Soft Skills - Brno - Žabovřesky
 



Další podobné školení nebo kurzy:
  • Podobný kurz     Praha 7  
    (??)   DO400 - Red Hat DevOps Pipelines and Processes: CI/CD with Jenkins, Git, and Test Driven Development - DataScript s.r.o.

    - ... cena: 2.540 EUR/Kurz (3.073 EUR/Kurz včetně DPH) ...Jiná měna platby za kurz : EUR/Kurz

  • Podobný kurz     Praha 2  
    (??)   Daňová evidence (dříve jednoduché účetnictví) - rekvalifikační kurz - Centrum služeb pro podnikání s.r.o.

    - ... cena: 8.000 Kč/Kurz

  • Podobný kurz     Praha 1  
    (??)   Jak zvládat stres a bojovat proti vyhoření - Zastav se dřív, než tě tělo zastaví samo - Top Vision

    - ... cena: 5.990 CZK /Kurz (7.248 CZK /Kurz včetně DPH)

  • Podobný kurz     Praha  
    (??)   Linux - pokročilá administrace Linux - Advanced Administration - ICT Pro s.r.o. – Kurzy, školení, konzultace ICT a Soft Skills

    - ... cena: 12.600 Kč/Kurz (15.246 Kč/Kurz včetně DPH)

  • Podobný kurz     Praha  
    (??)   Linux - správa síťového prostředí Linux - Networking - ICT Pro s.r.o. – Kurzy, školení, konzultace ICT a Soft Skills

    - ... cena: 12.600 Kč/Kurz (15.246 Kč/Kurz včetně DPH)

  • Podobný kurz     Brno - Jihomoravský  
    (??)   Linux - správa síťového prostředí Linux - Networking - ICT Pro s.r.o. – Kurzy, školení, konzultace ICT a Soft Skills

    - ... cena: 12.600 Kč/Kurz (15.246 Kč/Kurz včetně DPH)

  • Podobný kurz     Praha  
    (??)   Linux - pokročilá administrace Linux - Advanced Administration - ICT Pro s.r.o. – Kurzy, školení, konzultace ICT a Soft Skills

    - ... cena: 12.600 Kč/Kurz (15.246 Kč/Kurz včetně DPH)









  • Popis kurzu
    Embedded Linux kernel and driver development - s certifikátem


    Lektoři kurzu

    Lektoři z firmy: ICT Pro s.r.o. – Kurzy, školení, konzultace ICT a Soft Skills


    [Kurz] Program kurzu (obsah přednášky/semináře/rekvalifikace/studia) ...


      Introduction to the Linux kernel
    • Kernel features
    • Understanding the development process
    • Legal constraints with device drivers
    • Kernel user interface (/proc and /sys)
    • Userspace device drivers
      Kernel sources
    • Specifics of Linux kernel development
    • Coding standards
    • Retrieving Linux kernel sources
    • Tour of the Linux kernel sources
    • Kernel source code browsers: cscope, Kscope, Linux Cross Reference (LXR)
      Lab - Kernel sources
    • Making searches in the Linux kernel sources: looking for C definitions, for definitions of kernel configuration parameters, and for other kinds of information
    • Using the Unix command line and then kernel source code browsers
      Configuring, compiling and booting the Linux kernel
    • Kernel configuration
    • Native and cross-compilation. Generated files
    • Booting the kernel. Kernel booting parameters
      Lab - Kernel configuration, cross compiling and booting
    • Configuring, cross-compiling and booting a Linux kernel
      Linux kernel modules
    • Linux device drivers
    • A simple module
    • Programming constraints
    • Loading, unloading modules
    • Module dependencies
    • Adding sources to the kernel tree
      Lab - Writing modules
    • Write a kernel module with several capabilities
    • Access kernel internals from your module
    • Setup the environment to compile it
      Linux device model
    • Understand how the kernel is designed to support device drivers
    • The device model
    • Binding devices and drivers
    • Platform devices, Device Tree
    • Interface in userspace: /sys
      Lab - Linux device model for an I2C driver
    • Implement a driver that registers as an I2C driver
    • Modify the Device Tree to list an I2C device
    • Get the driver called when the I2C device is enumerated at boot time
      Introduction to the I2C API
    • The I2C subsystem of the kernel
    • Details about the API provided to kernel drivers to interact with I2C devices
      Pin muxing
    • Understand the pinctrl framework of the kernel
    • Understand how to configure the muxing of pins
      Lab - Communicate with the Nunchuk over I2C
    • Configure the pin muxing for the I2C bus used to communicate with the Nunchuk
    • Extend the I2C driver started in the previous lab to communicate with the Nunchuk via I2C
      Kernel frameworks
    • Block vs. character devices
    • Interaction of userspace applications with the kernel
    • Details on character devices, file_operations, ioctl(), etc.
    • Exchanging data to/from userspace
    • The principle of kernel frameworks
      The input subsystem
    • Principle of the kernel input subsystem
    • API offered to kernel drivers to expose input devices capabilities to userspace application
    • Userspace API offered by the input subsystem
      Lab - Expose the Nunchuk functionality to userspace
    • Extend the Nunchuk driver to expose the Nunchuk features to userspace applications, as a input device.
    • Test the operation of the Nunchuk using sample userspace applications
      Memory management
    • Linux: memory management - Physical and virtual (kernel and user) address spaces
    • Linux memory management implementation
    • Allocating with kmalloc()
    • Allocating by pages
    • Allocating with vmalloc()
      I/O memory and ports
    • I/O register and memory range registration
    • I/O register and memory access
    • Read / write memory barriers
      Minimal platform driver and access to I/O memory
    • Implement a minimal platform driver
    • Modify the Device Tree to instantiate the new serial port device
    • Reserve the I/O memory addresses used by the serial port
    • Read device registers and write data to them, to send characters on the serial port
      The misc kernel subsystem
    • What the misc kernel subsystem is useful for
    • API of the misc kernel subsystem, both the kernel side and userspace side
      Lab - Output-only serial port driver
    • Extend the driver started in the previous lab by registering it into the misc subsystem
    • Implement serial port output functionality through the misc subsystem
    • Test serial output from userspace
      Processes, scheduling, sleeping and interrupts
    • Process management in the Linux kernel
    • The Linux kernel scheduler and how processes sleep
    • Interrupt handling in device drivers: interrupt handler registration and programming, scheduling deferred work
      Lab - Sleeping and handling interrupts in a device driver
    • Adding read capability to the character driver developed earlier
    • Register an interrupt handler
    • Waiting for data to be available in the read file operation
    • Waking up the code when data is available from the device
      Locking
    • Issues with concurrent access to resources
    • Locking primitives: mutexes, semaphores, spinlocks
    • Atomic operations
    • Typical locking issues
    • Using the lock validator to identify the sources of locking problems
      Lab - Locking
    • Observe problems due to concurrent accesses to the device
    • Add locking to the driver to fix these issues
      Driver debugging techniques
    • Debugging with printk
    • Debugfs entries
    • Analyzing a kernel oops
    • Using kgdb, a kernel debugger
    • Using the Magic SysRq commands
    • Debugging through a JTAG probe
      Lab - Investigating kernel faults
    • Studying a broken driver
    • Analyzing a kernel fault and locating the problem in the source code
      ARM board support and SoC support
    • Understand the organization of the ARM support code
    • Understand how the kernel can be ported to a new hardware board
      Power management
    • Overview of the power management features of the kernel
    • Topics covered: clocks, suspend and resume, dynamic frequency scaling, saving power during idle, runtime power management, regulators, etc.
      The Linux kernel development process
    • Organization of the kernel community
    • The release schedule and process: release candidates, stable releases, long-term support, etc.
    • Legal aspects, licensing
    • How to submit patches to contribute code to the community
    Předpokládané znalosti: Znalost unixového prostředí a programování v jazyku C.


    [Kurz] Obsah kurzu/školení...

    Tento kurz je určen vývojářům embedded Linux zařízení. V rámci školení porozumíte jádru systému Linux, naučíte se pracovat s ovladači, ladit Linuxové jádro, pracovat s pamětí, procesy a napájením. Naučíte se nasazovat linuxové jádro v nových zařízeních a další. Součástí školení jsou praktické laby Raspberry Pi board.
    • Introduction to the Linux kernel
    • Introduction to the Linux kernel
    • Kernel sources
    • Lab - Kernel sources
    • Configuring, compiling and booting the Linux kernel
    • Lab - Kernel configuration, cross compiling and booting
    • Linux kernel modules
    • Lab - Writing modules
    • Linux device model
    • Lab - Linux device model for an I2C driver
    • Introduction to the I2C API
    • Pin muxing
    • Lab - Communicate with the Nunchuk over I2C
    • Kernel frameworks
    • The input subsystem
    • Lab - Expose the Nunchuk functionality to userspace
    • Memory management
    • I/O memory and ports
    • Minimal platform driver and access to I/O memory
    • The misc kernel subsystem
    • Lab - Output-only serial port driver
    • Processes, scheduling, sleeping and interrupts
    • Lab - Sleeping and handling interrupts in a device driver
    • Locking
    • Lab - Locking
    • Driver debugging techniques
    • Lab - Investigating kernel faults
    • ARM board support and SoC support
    • Power management

    Znalost unixového prostředí a programování v jazyku C.

    [Kurz] Cíl školení / poznámka ke kurzu...

    Tento kurz je určen vývojářům embedded Linux zařízení. V rámci školení porozumíte jádru systému Linux, naučíte se pracovat s ovladači, ladit Linuxové jádro, pracovat s pamětí, procesy a napájením. Naučíte se nasazovat linuxové jádro v nových zařízeních a další. Součástí školení jsou praktické laby Raspberry Pi board.


    ODKAZ: https://www.skoleni-kurzy.eu/kurz-54459



    Poslední aktualizace: 2024-01-01 16:04:21

    ICT Pro s.r.o. – Kurzy, školení, konzultace ICT a Soft Skills
    skoleni-kurzy.eu