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

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

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...

Пікірлер: 13
@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!
@Wtf95
@Wtf95 3 жыл бұрын
great content!
@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 !
@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.
@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 2 жыл бұрын
Hi
Device Tree: hardware description for everybody !
43:17
Bootlin
Рет қаралды 99 М.
Andro, ELMAN, TONI, MONA - Зари (Official Audio)
2:53
RAAVA MUSIC
Рет қаралды 8 МЛН
Embedded Linux Booting Process (Multi-Stage Bootloaders, Kernel, Filesystem)
33:13
STM32 Guide #2: Registers + HAL (Blink example)
30:02
Mitch Davis
Рет қаралды 222 М.
Beaglebone: GPIO Programming on ARM Embedded Linux
46:06
Derek Molloy
Рет қаралды 107 М.
Transformers (how LLMs work) explained visually | DL5
27:14
3Blue1Brown
Рет қаралды 4,7 МЛН
Linux File System/Structure Explained!
15:59
DorianDotSlash
Рет қаралды 4,3 МЛН
New GPIO Interface for User Space - Bartosz Golaszewski, BGDev
43:32
The Linux Foundation
Рет қаралды 9 М.