Forum: Mikrocontroller und Digitale Elektronik Bootloader für mega2560


von Daniel (Gast)


Lesenswert?

Guten Abend!

Hat jemand von euch schonmal den Bootloader aus der AppNote 109 von
Atmel für den 2560 probiert? Dort in der Zip-Datei ist ein Verzeichnis
IAR für den 2560.. Läuft das zusammen mit dem in AppNote  911
vorgestellten OpenSource Programmer?

Kann mir da jemand speziell zum 2560 weiterhelfen? Werde das ganze
morgen wohl mal testen, allerdings muss ich es morgen erstmal in
Codevision portieren.

Schönen Abend

Daniel

von Christoph Söllner (Gast)


Lesenswert?

Hey, ich hätte da auch Interesse, kannst Du mal Deine Erfahrungen
posten? Obwohl ich CodeVision benutze... Christoph

von Daniel (Gast)


Lesenswert?

Habe mir den Code mal genauer angesehn, allerdings sind mir diese Dinge
hier schleiderhaft.

Wo kommen beim IAR oder GCC die Dinge wie __AddrToZByteToSPMCR_LPM,
__DataToR0ByteToSPMCR_SPM, __load_program_memory,
__extended_load_program_memory, her?

Habe leider kein GCC oder IAR,um das alles mal nachvollziehen zu
können.

Hat jemand schon mal einen Bootloader in Codevision geschrieben?


#define _GET_LOCK_BITS() __AddrToZByteToSPMCR_LPM( (void __flash *)
0x0001, 0x09 )
#define _GET_LOW_FUSES() __AddrToZByteToSPMCR_LPM( (void __flash *)
0x0000, 0x09 )
#define _GET_HIGH_FUSES() __AddrToZByteToSPMCR_LPM( (void __flash *)
0x0003, 0x09 )
#define _GET_EXTENDED_FUSES() __AddrToZByteToSPMCR_LPM( (void __flash
*) 0x0002, 0x09 )
#define _SET_LOCK_BITS(data) __DataToR0ByteToSPMCR_SPM( data, 0x09 )
#define _ENABLE_RWW_SECTION() __DataToR0ByteToSPMCR_SPM( 0x00, 0x11 )

#define _WAIT_FOR_SPM() while( SPMCR_REG & (1<<SPMEN) );

#ifndef LARGE_MEMORY
  #define _LOAD_PROGRAM_MEMORY(addr) __load_program_memory( (const
unsigned char __flash *) (addr) )
  #define _FILL_TEMP_WORD(addr,data)
__AddrToZWordToR1R0ByteToSPMCR_SPM( (void __flash *) (addr), data, 0x01
)
  #define _PAGE_ERASE(addr) __AddrToZByteToSPMCR_SPM( (void __flash *)
(addr), 0x03 )
  #define _PAGE_WRITE(addr) __AddrToZByteToSPMCR_SPM( (void __flash *)
(addr), 0x05 )
#else
  #define _LOAD_PROGRAM_MEMORY(addr) __extended_load_program_memory(
(const unsigned char __farflash *) (addr) )
  #define _FILL_TEMP_WORD(addr,data)
__AddrToZ24WordToR1R0ByteToSPMCR_SPM( (void __farflash *) (addr), data,
0x01 )
  #define _PAGE_ERASE(addr) __AddrToZ24ByteToSPMCR_SPM( (void
__farflash *) (addr), 0x03 )
  #define _PAGE_WRITE(addr) __AddrToZ24ByteToSPMCR_SPM( (void
__farflash *) (addr), 0x05 )
#endif

von a_v_r (Gast)


Lesenswert?

Hat jemand schon ne compilierte Version dieses oder eines anderen
Bootloaders für den Mega2560 ?

von a_v_r (Gast)


Lesenswert?

Kennt keiner einen passenden Bootloader?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.