BeagleBone: GPIO Linux Loadable Kernel Module (LKM) Development Demonstration

  Рет қаралды 40,709

Derek Molloy

Derek Molloy

Күн бұрын

This video supports the third article in a series: “Writing a Linux Kernel Module - Part 3: Buttons and LEDs”. See www.derekmolloy...
The article is focused on education and training rather than a deep practical need. There are three different LKMs demonstrated in this video, each with its own individual purpose and needs:
Example 1: Button Press, LED Light: In this example an LED lights when a button is pressed. To perform this task, kernel interrupts are required and the use of linux/gpio.h. This example is used to test the interrupt performance.
Example 2: Enhanced Button GPIO Driver: This example is used to introduce kobjects and a mechanism for adding new entries to Sysfs. This allows you to send data to and receive data from the LKM at run time. The example also introduces the use of timing in kernel code.
Example 3: Enhanced LED GPIO Driver: This example is used to flash an LED, which allows for a discussion on Linux kthreads. Essentially, an LED is flashed at a frequency using a kernel module, which can be controlled from Linux user space.
All my articles are available at: www.derekmolloy... and my book is available at www.exploringbe...

Пікірлер
@geertvancompernolle2586
@geertvancompernolle2586 9 жыл бұрын
Excellent video series about BeagleBone and Embedded Linux in general. What I like most is the fact that almost all videos are general for ARM embedded systems. Also the fact that practical examples are shown gives this series a high educational level. Keep up the good work!
@tharanginichinnadurai2383
@tharanginichinnadurai2383 6 жыл бұрын
Hi Derek, great job! It would be much appreciated if you could provide a video using yocto project (for embedded linux kernel driver development).
@Debraj1978
@Debraj1978 9 жыл бұрын
Hello Derek, I have a Raspberry-pi, with which, I have connected an SPI based EEPROM and planning to write block-driver so that I can mount it on Linux to do some file operations. At present, I can communicate with EEPROM successfully with already available SPI driver. Now the problem that I am facing is the R-pi do not provide the kernel source/ header with the default OS (Raspbian). Though there are unofficial websites explaining ways to get around this restriction, I have always ended up with either of these 2 errors: - 1. Error: could not insert module of XXX.ko: Invalid module format -- I get this error while executing "insmod XXX.ko". 2. ./scripts/recordmcount: 1: ./scripts/recordmcount: Syntax error: word unexpected (expecting ")") -- I get this error while executing the "make". My questions are: - 1. Is this a familiar issue with R-pi and is there a way to get over this restriction? 2. Does Beaglebone black have these restrictions (of not providing source code of kernel)? From your this video, I understand that Beaglebone does not have any such restrictions. Regards, Debraj PS: I can create the XX.ko on my Ubuntu (virtual machine) and perform "insmod XXX.ko" successfully.
@parkerjohn2459
@parkerjohn2459 9 жыл бұрын
Thanks ! I really like your videos. Will be there some raspberry pi videos soon ?
@DerekMolloyatDCU
@DerekMolloyatDCU 9 жыл бұрын
Parker John Thanks. Everything in this video should also work fine on the PI -- most of the videos will, except those that use the PRU-ICSS or the ADC. I'll have to return to the PI again (I'm still using mine for XBMC in my home).
@parkerjohn2459
@parkerjohn2459 9 жыл бұрын
Derek Molloy Thanks. Anything is very appreciated !
@Wtf95
@Wtf95 3 жыл бұрын
great content!
@RixtronixLAB
@RixtronixLAB 7 жыл бұрын
can I use GPIO for driving LCD 16x2 from kernel as well ? same way with this ?
@PiotrKundu
@PiotrKundu 9 жыл бұрын
Ordered your book Derek Molloy It's in the mail, but I can't wait to get it. Any chances of you posting a videon on multiple OS on the BBB? I would like Ångström, Open Enea Linux, Buildroot, Android and some RYO Yocto based build. Always Innovating, managed to run four OS at the same time, and that is really cool. Have a look: www.alwaysinnovating.com/beagleboard
@kalkvand
@kalkvand 6 жыл бұрын
Isn't this possible in C++?
@anneallison6402
@anneallison6402 4 жыл бұрын
obviously yes
@mdsamimsk4754
@mdsamimsk4754 Жыл бұрын
Hi
Linux Device Drivers Training 01, Simple Loadable Kernel Module
20:08
Embedded Linux Booting Process (Multi-Stage Bootloaders, Kernel, Filesystem)
33:13
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Beaglebone: An I2C Tutorial - Interfacing to a BMA180 Accelerometer
47:28
Device Tree for Dummies! - Thomas Petazzoni, Free Electrons
1:12:41
The Linux Foundation
Рет қаралды 109 М.
What is mathematical thinking actually like?
9:44
Benjamin Keep, PhD, JD
Рет қаралды 30 М.
New GPIO Interface for User Space - Bartosz Golaszewski, BGDev
43:32
The Linux Foundation
Рет қаралды 9 М.
Linux Device Drivers Training 06, Simple Character Driver
26:55