Und ich muss dem ATtiny 2313 erst noch einen BootLoader verpassen,
Nein, grundsätzlich kannst Du ihn über SPI-ISP (es sei denn eine der beiden entsprechenden Fuses ist entsprechnd umgestellt) oder über High Voltage Parallel Programming (HVPP) programmieren.
Für das SPI-ISP hast Du die Schnittstelle bereits benannt, das SPI ist beim 2313/4313 nur fürs Programming verwendbar. Beim HVPP werden fast alle (bis auf D0 und A1) Pins verwendet. Die eventuelle Schaltung muß außerdem 12V am Reset tolerieren
Außerdem (alternativ) kann der Tiny sich selbst ("von innen") programmieren. Dazu benötigst Du natürlich 'ne entsprechende Software im Tiny, die das abarbeitet (den genannten Bootloader), und irgendeinen Kanal, über den Du dem Controller den neuen zu flashenden Code zuführst. Das kann theoretisch ein beliebiges Software-Protokoll sein (Morsecodes, IR-Fernbedienungskram, was auch immer Du implementierst), oder eben eine vorhandene Hardware-Schnittstelle. Der 2313 hat 'nen U(S)ART und 'ne USI (die kann SPI und TWI … mehr oder weniger in Hardware/mit gewissen Einschränkungen, außerdem kann es mit Einschränkungen auch als UART verwendet werden).
Beim 2313
A bzw 4313 (das ist eigentlich auch ein A) kann der USART alternativ als Master-SPI verwendet werden.
Bootloader hab ich bisher nicht verwendet, wenn Du mit "Tool" die Programmier-Hardware meinst - ich hab 'n STK500 und 'n AVRisp mkII (den echten natürlich). Und früher mal zwei selbstgebastelte Programmer, die sich wie ein AVRisp (ohne mkII) verhalten - allerdings über USB kommunizieren.
Wenn Du die Programmier-Software meinst - immer irgendein AVR/ATMEL-Studio (aus BASCOM heraus flashe ich nicht).
(P.S.: unter Android hab ich mal irgend'n Flasher verwendet, der den AVRispmkII unterstützt - allerdings braucht man dafür den HexCode, und so'n Assembler selbst zu schreiben reizt mich zwar auch etwas … aber vollständig motiviert bin ich noch nicht. Inzwischen wird dort allerdings auch nicht mehr wirklich weiterentwickelt, und irgendwann wird mir
@Dirk wohl einen ICE verkaufen müssen. Da der da (bisher) eh nicht unterstützt wird...)
Wenn ich den ATtiny2313 mit meinem ATMega8 kommunizieren lassen will, könnte ich doch somit USART, TWI, USI nehmen - das ist doch korrekt?
Eine der vorhandenen Hardware-Schnittstellen, oder irgendwas beliebiges in Software. Wir haben hier auch schon mal Timer und UART kombiniert, um UART über 'ne IR-LED zu senden, und mit 'nem TSOP
fragmichnicht am anderen Ende am UART empfangen. Du kannst auch acht bit parallel übertragen, oder vier-Bit-Nibbles … denk nicht so beschränkt … Du bestimmst, was Dein Controller machen soll. Du mußt Deine Idee am Ende nur in Code packen...