patchAVR Downloader/UploaDEr - Patches: patch #9816, Implement new programmer type:...

 
 

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

patch #9816: Implement new programmer type: linuxspi

Submitted by:  Ralf Ramsauer <rralf>
Submitted on:  Fri 14 Jun 2019 06:30:19 PM UTC  
Votes:  200  
 
Category:  None Priority:  5 - Normal
Status:  Ready For Test Privacy:  Public
Assigned to:  Joerg Wunsch <joerg_wunsch> Open/Closed:  Open

Tue 22 Sep 2020 08:20:39 PM UTC, comment #4: 

I've used this patch for a while now, had some initial issues which I tracked down to this patch not setting the SPI mode, and if you are using SPI to communicate with as well, setting a incompatible SPI mode will cause this programmer being unable to communicate with the chip.

I fixed it by adding:
    uint32_t mode = SPI_MODE_0 | SPI_NO_CS;
    ret = ioctl(fd_spidev, SPI_IOC_WR_MODE32, &mode);
    if (ret == -1) {
        avrdude_message(MSG_INFO, "%s: error: Unable to set SPI mode %0X on %s\n", progname, mode, spidev);
        goto close_spidev;
    }

Before:
    fd_gpiochip = open(gpiochip, 0);

in linuxspi.c

Ya I know that's the worst patch ever :( I applied this to the 6.3 source and added a shit load of debug messages to figure out where the issue was, so my local source is a mess ;)

Lars Ollén <laeffe>
Sat 19 Sep 2020 09:34:01 PM UTC, comment #3: 

Applied in r1447, thanks! (Without own tests, don't have an RPi readily available where I could compile and use it.)

Thanks in particular for also providing documentation for it.

Joerg Wunsch <joerg_wunsch>
Project AdministratorIn charge of this item.
Tue 10 Mar 2020 03:44:42 PM UTC, comment #2: 

Fabian,

thank you very much for your comment and for testing my/our patch. I'd really wish that it would be integrated, but, to be honest, there was almost no reaction at all and avrdude seems to unfortunately be dead from a maintainer perspective. Sigh...

  Ralf

Ralf Ramsauer <rralf>
Tue 10 Mar 2020 03:30:25 PM UTC, comment #1: 

Just wanted to leave a comment to say, that I am using this to flash an
atmega328p via SPI from the raspberry pi and it works quite well. Did not
have any issues with it, yet :)

Fabian Viöl <sh3rm4n>
Fri 14 Jun 2019 06:30:19 PM UTC, original submission:  

This adds a new linuxspi programmer type. Analogously to linuxgpio, this
programmer uses the Linux-specific spidev device.

For accessing the reset pin, this programmer uses an additional GPIO pin using
the linux/gpio.h API. In contrast to the stateless and deprecated sysfs
interface, linux/gpio.h uses proper file descriptors for every pin, and
performs housekeeping when the device is closed. That saves some lines of code.

The programmer can be used as follows:
  avrdude -c linuxspi -P /dev/spidev:/dev/gpiochip[:resetpin] [...]

Separated by colons, the first part of the port (-P) argument denotes the
spidev device, the second one is the gpiochip that contains the reset pin, and
the optional third argument contains the pin number of the reset pin.

If not specified, the pin number defaults to the reset pin number defined in
avrdude.conf. Currently, this defaults to 25, which is connected to Pin 22 on a
Raspberry Pi.

Additionally, add some documentation.

Credits go to Kevin Cuzner, who started this fork ~5 years ago. I picked it up,
rebased it to the current mainline, massaged some parts of the code here and
there, fixed some minor bugs and switched to the linux/gpio.h GPIO accessors.

Signed-off-by: Ralf Ramsauer <ralf@vmexit.de>

Ralf Ramsauer <rralf>

 

Attached Files
file #47099:  avrdude-linuxspi-V1.patch added by rralf (15KiB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by laeffe (Posted a comment)
  • -email is unavailable- added by joerg_wunsch (Posted a comment)
  • -email is unavailable- added by laeffe (Voted in favor of this item)
  • -email is unavailable- added by chrstphrchvz (Voted in favor of this item)
  • -email is unavailable- added by sh3rm4n (Posted a comment)
  • -email is unavailable- added by rralf (Submitted the item)
  • -email is unavailable- added by rralf
  • -email is unavailable- added by rralf
  •  

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

    Only logged-in users can vote.

     

     

     

    Follow 10 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-09-22 joerg_wunsch StatusDone => Ready For Test
        Open/ClosedClosed => Open
    2020-09-19 joerg_wunsch StatusNone => Done
        Assigned toNone => joerg_wunsch
        Open/ClosedOpen => Closed
    2020-07-05 laeffe Carbon-Copy- => Added laeffe
    2020-06-14 chrstphrchvz Carbon-Copy- => Added chrstphrchvz
    2019-06-14 rralf Attached File- => Added avrdude-linuxspi-V1.patch, #47099
        Carbon-Copy- => Added c-d.hailfinger.devel.2006@gmx.net
        Carbon-Copy- => Added kcuzner@kevincuzner.com

    Back to the top


    Powered by Savane 3.6