zevero / avr_boot

Arduino Bootloader to Flash from SD Card
BSD 2-Clause "Simplified" License
122 stars 39 forks source link

Question: Is it possible to use Software Spi? #32

Open hmantz opened 5 years ago

hmantz commented 5 years ago

Hi all! I have a project with an Atmega328P and I am using the hardware SPI pins for a different purpose. Is it possible to use non-standard pins to flash a new bootloader from a SD card?

Kieran-Weaver commented 4 years ago

Yes, to use software SPI or any other form of SPI, just rewrite these functions:

void init_spi (void);       /* Initialize SPI port (asmfunc.S) */
void xmit_spi (BYTE d);     /* Send a byte to the MMC (asmfunc.S) */
BYTE rcv_spi (void);        /* Send a 0xFF to the MMC and get the received byte (asmfunc.S) */

They can be written in C/C++ as well as in AVR assembly.

FergusonMG commented 3 years ago

Hello, we have an Arduino Mega2560 available here that comes preinstalled with a microSD flash installer while still supporting updates through SPI.