Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
projects:gpio-bb [2016/10/23 14:56]
darron [Raspbian for Raspberry Pi]
projects:gpio-bb [2023/11/05 16:20]
darron [Raspberry Pi OS]
Line 7: Line 7:
 GPIO bit-bang is well suited to PICMicro ICSP but not exclusively. GPIO bit-bang is well suited to PICMicro ICSP but not exclusively.
  
-=== Raspbian for Raspberry Pi ===+=== Build ===
  
-First install development tools and the kernel headers.+This module is built out of kernel and depends on the header files and tools found locally or may be cross compiled. 
 + 
 +For cross compilation, an example Makefile named `cross-compile.mk' is provided which should work for Raspberry PI OS as explained [[:tools:raspbian#kernel|here]]. 
 + 
 +If the linux source directory was cross compiled and then copied to the target system to build the module, `scripts.sh' is provided to rebuild certain kernel header scripts locally. This is needed because some scripts are actually binary files on the foreign architecture. 
 + 
 + 
 + 
 +=== Raspberry Pi OS=== 
 + 
 +First install development tools and the kernel headers when using a regular kernel.
 <code> <code>
 apt-get install raspberrypi-kernel-headers apt-get install raspberrypi-kernel-headers
 </code> </code>
  
-Now install the kernel module. +If you updated the kernel with rpi-update, install [[https://github.com/RPi-Distro/rpi-source|rpi-source]]
-<code> +
-hg clone http://hg.kewl.org/pub/gpio-bb +
-cd gpio-bb +
-make +
-make install +
-</code>+
  
-=== Void Linux for Raspberry Pi === +Now install headers for kernel installed with rpi-update.
- +
-First install development tools and the kernel headers.+
 <code> <code>
-xbps-install mercurial make gcc rpi-kernel-headers +rpi-source --skip-space
 </code> </code>
  
Line 33: Line 35:
 hg clone http://hg.kewl.org/pub/gpio-bb hg clone http://hg.kewl.org/pub/gpio-bb
 cd gpio-bb cd gpio-bb
-./rpi-void.sh+make 
 +make install
 </code> </code>
  
-=== Bananian for Banana Pi ===+=== Armbian ===
  
-Install development tools and the kernel headers and then install the kernel module.+==BPI==
  
 <code> <code>
-hg clone http://hg.kewl.org/pub/gpio-bb +apt install  linux-headers-current-sunxi 
-cd gpio-bb +make 
-./bpi-bananian.sh+make install
 </code> </code>
  
-=== Modprobe ===+=== Configuration ===
 Update the modprobe configuration to create the gpio-bb device node when the module is loaded. For example, add the following to /etc/modprobe.d/modprobe.conf Update the modprobe configuration to create the gpio-bb device node when the module is loaded. For example, add the following to /etc/modprobe.d/modprobe.conf
 <code> <code>
-install gpio-bb modprobe --ignore-install gpio-bb && modprobe gpio-bb && mknod /dev/gpio-bb c 180 0+install gpio-bb modprobe --ignore-install gpio-bb && modprobe gpio-bb && mknod /dev/gpio-bb c 180 0 && chmod 666 /dev/gpio-bb
 </code> </code>
 +Lastly, add the following to /etc/modules and reboot.
 +<code>
 +gpio-bb
 +</code>
 +
 +=== Obsolete documentation ===
 +[[projects:gpio-bb:armbian|Armbian]]
 +[[projects:gpio-bb:bananian|Bananian]]
 +[[projects:gpio-bb:openwrt|OpenWRT]]
 +[[projects:gpio-bb:raspbian|Raspbian]]
  
-=== OpenWRT === +=== Troubleshooting ===
-[[projects:gpio-bb:openwrt|GPIO bit-bang driver for OpenWRT]]+
  
-=== Raspbian for Raspberry Pi (obsolete) === +gpio-bb uses the kernel API to access pins, this API demands exclusive access to a pin per process. This means you cannot use gpio-bb and sysfs export simultaneously for a single pin.
-[[projects:gpio-bb:raspbian|GPIO bit-bang driver for Raspbian]]+
  
 +=== Resources ===
  
 +[[https://www.pedalpc.com/blog/program-pic-raspberry-pi/#gpio-bb|Using gpio-bb]]