Bootloader don't work

Buonasera, ho una scheda arduino Pro Mini con Atmega328P a cui devo caricare il bootloader. Ho utilizzato una scheda MKRSIGFOX1200 come programmer in cui ho caricato il firmware ARDUINO ISP e in cui ho cambiato i pin di riferimento SPI in base a quelli della scheda(diversi dalla UNO). Quando parte il programma mi lampeggia un po' il led di errore e poi parte a lampeggiare il led di heartbeat. Quindi se provo ad installare il programma tramite una USB-Seriale(TX-RX) non riesce perchè probabilmente non c'è il bootloader. Allego anche il codice ARDUINO ISP modificato.(Solo ciò che ho modificato)
Come posso risolvere??

// ArduinoISP
// Copyright (c) 2008-2011 Randall Bohn
// If you require a license, see
// http://www.opensource.org/licenses/bsd-license.php
//
// This sketch turns the Arduino into a AVRISP using the following Arduino pins:
//
// Pin 10 is used to reset the target microcontroller.
//
// By default, the hardware SPI pins MISO, MOSI and SCK are used to communicate
// with the target. On all Arduinos, these pins can be found
// on the ICSP/SPI header:
//
//               MISO °. . 5V (!) Avoid this pin on Due, Zero...
//               SCK   . . MOSI
//                     . . GND
//
// On some Arduinos (Uno,...), pins MOSI, MISO and SCK are the same pins as
// digital pin 11, 12 and 13, respectively. That is why many tutorials instruct
// you to hook up the target to these pins. If you find this wiring more
// practical, have a define USE_OLD_STYLE_WIRING. This will work even when not
// using an Uno. (On an Uno this is not needed).
//
// Alternatively you can use any other digital pin by configuring
// software ('BitBanged') SPI and having appropriate defines for PIN_MOSI,
// PIN_MISO and PIN_SCK.
//
// IMPORTANT: When using an Arduino that is not 5V tolerant (Due, Zero, ...) as
// the programmer, make sure to not expose any of the programmer's pins to 5V.
// A simple way to accomplish this is to power the complete system (programmer
// and target) at 3V3.
//
// Put an LED (with resistor) on the following pins:
// 9: Heartbeat   - shows the programmer is running
// 8: Error       - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave
//

#include "Arduino.h"
#undef SERIAL


#define PROG_FLICKER true

// Configure SPI clock (in Hz).
// E.g. for an ATtiny @ 128 kHz: the datasheet states that both the high and low
// SPI clock pulse must be > 2 CPU cycles, so take 3 cycles i.e. divide target
// f_cpu by 6:
//     #define SPI_CLOCK            (128000/6)
//
// A clock slow enough for an ATtiny85 @ 1 MHz, is a reasonable default:

#define SPI_CLOCK (1000000/6)


// Select hardware or software SPI, depending on SPI clock.
// Currently only for AVR, for other architectures (Due, Zero,...), hardware SPI
// is probably too fast anyway.

#if defined(ARDUINO_ARCH_AVR)

#if SPI_CLOCK > (F_CPU / 128)
#define USE_HARDWARE_SPI
#endif

#endif

// Configure which pins to use:

// The standard pin configuration.
#ifndef ARDUINO_HOODLOADER2

#define RESET     15 // Use pin 10 to reset the target rather than SS
#define LED_HB    1
#define LED_ERR   0
#define LED_PMODE 7

// Uncomment following line to use the old Uno style wiring
// (using pin 11, 12 and 13 instead of the SPI header) on Leonardo, Due...

// #define USE_OLD_STYLE_WIRING

#ifdef USE_OLD_STYLE_WIRING

#define PIN_MOSI 8
#define PIN_MISO 10
#define PIN_SCK 9

#endif

// HOODLOADER2 means running sketches on the ATmega16U2 serial converter chips
// on Uno or Mega boards. We must use pins that are broken out:
#else

#define RESET     15
#define LED_HB     1
#define LED_ERR   0
#define LED_PMODE 7

#endif

// By default, use hardware SPI pins:
#ifndef PIN_MOSI
#define PIN_MOSI MOSI
#endif

#ifndef PIN_MISO
#define PIN_MISO MISO
#endif

#ifndef PIN_SCK
#define PIN_SCK SCK
#endif

// Force bitbanged SPI if not using the hardware SPI pins:
#if (PIN_MISO != MISO) ||  (PIN_MOSI != MOSI) || (PIN_SCK != SCK)
#undef USE_HARDWARE_SPI
#endif


// Configure the serial port to use.
//
// Prefer the USB virtual serial port (aka. native USB port), if the Arduino has one:
//   - it does not autoreset (except for the magic baud rate of 1200).
//   - it is more reliable because of USB handshaking.
//
// Leonardo and similar have an USB virtual serial port: 'Serial'.
// Due and Zero have an USB virtual serial port: 'SerialUSB'.
//
// On the Due and Zero, 'Serial' can be used too, provided you disable autoreset.
// To use 'Serial': #define SERIAL Serial

MKR a 3,3V attaccato a una Pro Mini a 5V ??

Ma lo sketch ARDUINO ISP funziona sui MKR ??

Non ne ho idea. Pensavo di sì. Altrimenti come potrei risolvere??

La promini vuole un adattatore USB-seriale che abbia anche il segnale DTR. In alternativa puoi andare per tentativi premendo il reset appena l'IDE dice che sta per caricare lo sketch compilato sulla promini.

zoomx:
La promini vuole un adattatore USB-seriale che abbia anche il segnale DTR. In alternativa puoi andare per tentativi premendo il reset appena l'IDE dice che sta per caricare lo sketch compilato sulla promini.

@zoomx Lui vuole caricare il bootloader e non uno sketch.
Per caricare il bootloader serve un programmatore ISP oppure un Arduino dove é caricato lo sketch Arduino ISP

@filippocarastro
Secondo https://www.arduino.cc/en/Tutorial/ArduinoISP dovrebbe funzionare se hai usato i pin giusti e aliemntato il Mini a 3,3V.

Ciao Uwe

@uwefed,
io ho capito che vuole caricare il bootloader perché non riesce a caricare uno sketch. Ma è difficile che la colpa sia del bootloader.

zoomx:
@uwefed,
io ho capito che vuole caricare il bootloader perché non riesce a caricare uno sketch. Ma è difficile che la colpa sia del bootloader.

Hai ragione anche questa é una valida interpretazione del problema esposto..
Ciao Uwe