Arduino Ariadne bootloader, någon som lirat med denna?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
toffie
Inlägg: 1785
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Arduino Ariadne bootloader, någon som lirat med denna?

Inlägg av toffie »

Hej på er,

Tänkte kolla om det finns någon här som lirat med ethernet bootloadern Ariadne för Arduino kompatibla produkter? Det finns ett par olika varianter, den första kom från codebndr, men den som tydligen ska fungera bäst nu är den från LoathingKernel; https://github.com/loathingKernel/ariadne-bootloader

Jag har även testat den från per1234; https://github.com/per1234/Ariadne-Bootloader som på sitt sätt fungerar "lite bättre" för mig.

Den hårdvara jag använder är en Controllino MAXI https://controllino.biz/, en riktigt tuff produkt - älskar DIN monterade produkter också.. :P Hur som helst, denna är tydligen designad lite annorlunda än vad "normala" Arduino är, som måste kompletteras med en nätverksmodul baserad på WizNet W5100/W5200/W5500.

I koden för bootloadern så finns filer för spi kommunikationen och ändrar man i dessa för att anpassa sig till hur min styrenhet är uppbyggd med kopplingen till W5100 chippet så får man nätverksaccess, det går att pinga enheten, men den svarar inte på TFTP anslutningen. Detta gäller för LoathingKernel varianten.

Däremot, om jag ändrar samma i spi filerna för per1234 varianten så får jag till och med TFTP anslutningen att fungera, jag kan ladda upp en fil som går igenom hela processen och får ett "ok" vad jag förstår. Men, när enheten startas om så startas inte det uppladdade programmet/sketchen - bootloadern startar igen och man kommer inte ur den. Det går exempelvis att ansluta till bootloadern via TFTP igen, så jag vet att bootloadern körs istället för användarprogrammet.

Min setup består av ett isolerat nätverk bakom en router med en av dessa Controllino MAXI enheterna och en Linux server som jag tänkt ska agera mottagare remote för att ta emot sketchen som ska laddas in i Controllino enheten via lokalt nätverk. Det som vissa har problem med, att de inte ens kan ansluta via TFTP - främst när de försöker göra detta via Windows, pga brandvägg i Windows - har ju inte jag problem med. Även fast det nästan kan kännas som det med LoathingKernel varianten, men det fungerar ju utan problem med per1234 varianten, så jag tror inte att det är något sådant som strular.

För LoathingKernel varianten verkar TFTP servern i bootloadern inte acceptera anslutningar, och i per1234 verkar den inte veta om att ett program har blivit uppladdat - även fast den tar emot den förstås.


Så, jag undrar om någon av er provat denna sorts bootloader och har några erfarenheter eller tankar/idéer om vad jag ska kolla efter eller prova?`

Många tack på förhand! :)


Edit...
Här är resultatet av kommunikationen med Controllino enheten med per1234 varianten av bootloadern.

Kod: Markera allt

tftp> Verbose mode on.
tftp> Packet tracing on.
tftp> Connected to 192.168.1.128.
Mode: octet Verbose: on Tracing: on
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> putting upload.bin to 192.168.1.128:upload.bin [octet]
sent WRQ <file=upload.bin, mode=octet>
received ACK <block=0>
sent DATA <block=1, 512 bytes>
received ACK <block=1>
sent DATA <block=2, 512 bytes>
received ACK <block=2>
sent DATA <block=3, 512 bytes>
received ACK <block=3>
sent DATA <block=4, 512 bytes>
received ACK <block=4>
sent DATA <block=5, 388 bytes>
received ACK <block=5>
Sent 2436 bytes in 4.0 seconds [4872 bits/sec]
Här är kommunikationen med LoathingKernel varianten;

Kod: Markera allt

tftp> Verbose mode on.
tftp> Packet tracing on.
tftp> Connected to 192.168.1.128.
Mode: octet Verbose: on Tracing: on
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> putting upload.bin to 192.168.1.128:upload.bin [octet]
sent WRQ <file=upload.bin, mode=octet>
sent WRQ <file=upload.bin, mode=octet>
sent WRQ <file=upload.bin, mode=octet>
sent WRQ <file=upload.bin, mode=octet>
sent WRQ <file=upload.bin, mode=octet>
Transfer timed out.