patchAVR Downloader/UploaDEr - Patches: patch #7165, Add support for bitbanging GPIO...


You are not allowed to post comments on this tracker with your current authentication level.

patch #7165: Add support for bitbanging GPIO lines using the Linux sysf GPIO interface

Submitted by:  Radoslav Kolev <radolin>
Submitted on:  Mon 12 Apr 2010 02:30:25 PM UTC  
Votes:  91  
Category:  None Priority:  5 - Normal
Status:  Ready For Test Privacy:  Public
Assigned to:  Rene Liebscher <rliebscher> Open/Closed:  Closed

Wed 09 Jan 2013 07:25:13 PM UTC, comment #4:

Integrated in svn revision 1132.

Rene Liebscher <rliebscher>
Project MemberIn charge of this item.
Tue 08 Jan 2013 04:37:34 PM UTC, comment #3:

I've taken the updated version by Richard and made some further changes to make it fit for inclusion into avrdude. Please find the attached linuxgpio-v2.patch file against current SVN - Revision: 1130.

Radoslav Kolev <radolin>
Tue 01 Jan 2013 01:15:58 PM UTC, comment #2:

a lot of embedded devices offer GPIO lines that can conveniently be used as an interface to a uC. This allows to build cheap, Ethernet-capable programmers from routers and such (for instance the Fonera or the Raspberry Pi). I refreshed the patches of Radoslav Kolev to compile with the latest SVN (1126). The patched version was tested on a Fonera device running OpenWrt, but it should work with every recent Linux flavor:

So please merge this patch.


Richard Nauber <rnauber>
Fri 23 Mar 2012 11:24:08 AM UTC, comment #1:

Please consider this for inclusion. It will be useful for dozens of embedded platforms running OpenWrt/buildroot, e.g. routers, access points, nas devices. I am already using a hacked version of this patch for my own AVR development.

Biff <bifferos>
Mon 12 Apr 2010 02:30:25 PM UTC, original submission:

This patch adds support for a new programmer type - gpio. It uses the Linux sysfs interface to bitbang GPIO lines. Mostly useful in embedded Linux systems, where there are a lot of GPIOs available.

To enable it pass the --enable-gpio option to ./configure. Then set the appropriate GPIO numbers in avrdude.conf.

It is kind of slow, taking ~30s to upload 8K to flash on a 150MHz x86 system. It will be a lot faster writing directly to the CPU registers, but this way it works for all processors that have Linux GPIO support implemented.

Radoslav Kolev <radolin>


Attached Files
file #27225:  linuxgpio-v2.patch added by radolin (16KiB - text/x-patch - incorporation feedback from mailing list)
file #27180:  avrdude-gpio.patch added by rnauber (11KiB - text/x-diff - refreshed patch)
file #20204:  avrdude-5.10-bb-gpio.patch added by radolin (11KiB - text/x-diff - Add support for bitbanging GPIO lines using the Linux sysf)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by rliebscher (Posted a comment)
  • -email is unavailable- added by rnauber (Posted a comment)
  • -email is unavailable- added by bifferos (Posted a comment)
  • -email is unavailable- added by bifferos (Voted in favor of this item)
  • -email is unavailable- added by radolin
  • -email is unavailable- added by radolin (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 91 encouragements so far.

    Only logged-in users can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    09/03/2013 rliebscher Open/ClosedOpen => Closed
    01/09/2013 rliebscher StatusNone => Ready For Test
        Assigned toNone => rliebscher
    01/08/2013 radolin Attached File- => Added linuxgpio-v2.patch, #27225
    01/01/2013 rnauber Attached File- => Added avrdude-gpio.patch, #27180
    03/23/2012 bifferos Carbon-Copy- => Added bifferos
    04/12/2010 radolin Attached File- => Added avrdude-5.10-bb-gpio.patch, #20204
        Carbon-Copy- => Added radolin

    Back to the top

    Powered by Savane 3.3