Vizitator Postat Aprilie 14, 2019 Partajează Postat Aprilie 14, 2019 (editat) Are cineva vreo idee daca merge ca un Arduino UNO[1] de exemplu, sa poata programa prin UART (TX/RX) pe un alt Arduino UNO [2] ? Repet. Nu SPI, prin UART, Serial...evident un fisier HEX. Astept idei.. Editat Aprilie 14, 2019 de Vizitator Link spre comentariu
mihaicozac Postat Aprilie 14, 2019 Partajează Postat Aprilie 14, 2019 (editat) Păi headerul de programare ISP nu pe Rx/Tx e legat? dacă te conectezi acolo ar trebui să meargă, după un reset manual. Doar să-ţi scrii programul în Arduino-ul master. Editat Aprilie 14, 2019 de mihaicozac Link spre comentariu
Vizitator Postat Aprilie 14, 2019 Partajează Postat Aprilie 14, 2019 Nu. Pe ISP, ai alta conexiune. MOSI, MISO, SCK... Nu are treaba cu UART. Ceea ce vreau am zis deja dar...ideea ca trebuie sa scrii firmware in Arduino Uno[2] folosind bootloader-ul acestuia. Arduino Uno[1] ar trebuii sa simuleze ceea ce trimite ArduinoIDE pe serial bootloader-ului. NU se discuta de pin reset, ala este evident. M-ar interesa partea de soft, pentru ca conexiunea este evidenta. Link spre comentariu
mihaicozac Postat Aprilie 14, 2019 Partajează Postat Aprilie 14, 2019 (editat) La Mini Pro am conectorul de margine pe care leg adaptorul USB, acolo cel puţin e clar că se foloseşte UART-ul nu SPI. Ca şi aici: https://mikroelectron.com/Product/ARDUINO-PRO-MINI-ATMEGA328-5V-16MHz/ Cred că şi la Uno convertorul USB tot la Rx/Tx e conectat. Editat Aprilie 14, 2019 de mihaicozac Link spre comentariu
nico_2010 Postat Aprilie 15, 2019 Partajează Postat Aprilie 15, 2019 Foloseste un sniffer pentru portul USB ca sa monitorizezi ce se intampla la scrierea Arduino si (re)scrie bootloader-ul din celalalt Arduino in conformitate cu constatarile facute. Link spre comentariu
cimitavita Postat Aprilie 15, 2019 Partajează Postat Aprilie 15, 2019 Nu e nevoie sa monitorizeze portul USB. Arduino uno se incarca toate pe UART (Rx/Tx). Intre USB si microcontroler este un adaptor USB-UART facut din CH340A, T sau G, ori un adaptor USB-UART dintr-un ATMEGA8. Din cauza asta, un arduino poate fi programat prin UART de pe un calculator mai vechi direct de pe COM (folosind doar un adaptor COM-TTL) sarind peste adaptorul USB-UART de pe placa lui. Trebuie doar sa stii exact cum merge firmware arduino ca sa stii exact ce comenzi trebuie date pentru auto-programare. Ei nu au copiat boot loder-ul din datasheet ci si-au facut propriul boot loader. Dar hex-ul pe care vrei sa il incarci, trebuie sa fie in primul arduino in FLASH sau intr-o memorie externa atasata lui. Asta din cauza ca UART o sa fie ocupat cu trimitrerea datelor spre cel de-al doilea arduino si in timpul asta e exclusa orice legatura cu PC-ul prin USB. Link spre comentariu
Liviu M Postat Aprilie 15, 2019 Partajează Postat Aprilie 15, 2019 Exact cum zice @cimitavita, trebuie sa emulezi comunicatia PC - bootloader Arduino. Cu alte cuvinte, trebuie sa te prinzi cum activezi bootloaderul si cum sa fie formatate datele pe care i le trimiti (si pe care trebuie sa le ai undeva, in Arduino programator). Eu m-as uita prin codul de la bootloader, poate sunt destule informatii in el. Link spre comentariu
deejay2k1 Postat Aprilie 15, 2019 Partajează Postat Aprilie 15, 2019 vezi link-ul asta, poate te ajuta Link spre comentariu
nico_2010 Postat Aprilie 15, 2019 Partajează Postat Aprilie 15, 2019 (editat) Acum 3 ore, cimitavita a spus: trebuie doar sa stii exact cum merge firmware arduino ca sa stii exact ce comenzi trebuie date pentru auto-programare. Ei nu au copiat boot loder-ul din datasheet ci si-au facut propriul boot loader. Acum 3 ore, Liviu M a spus: Cu alte cuvinte, trebuie sa te prinzi cum activezi bootloaderul si cum sa fie formatate datele pe care i le trimiti (si pe care trebuie sa le ai undeva, in Arduino programator) In concluzie ai doua variante: - fie folosesti un sniffer (sau si mai bine un analizor logic) care sa-ti evidentieze comenzile primite de placa Arduino de la IDE in momentul scrierii fisierului compilat (eu as monitoriza inclusiv pinii RTS si DTR ce ies din FT232); - fie te inarmezi cu multa cafea si stai si citesti continutul sursei bootloader-ului. L.E.: Upppssss! Arduino Uno nu este dotat cu FT232 sau CH340, ci cu ATMega16U2 , iar la pinul DTR (pinul 13 al ATMega16U2) s-ar putea sa ai acces mai greu, dar nu imposibil. Editat Aprilie 15, 2019 de nico_2010 Link spre comentariu
Vizitator Postat Aprilie 15, 2019 Partajează Postat Aprilie 15, 2019 Acum 6 ore, nico_2010 a spus: [....] ai doua variante: - fie folosesti un sniffer (sau si mai bine un analizor logic) care sa-ti evidentieze comenzile primite de placa Arduino de la IDE in momentul scrierii fisierului compilat (eu as monitoriza inclusiv pinii RTS si DTR ce ies din FT232); - fie te inarmezi cu multa cafea si stai si citesti continutul sursei bootloader-ului. L.E.: Upppssss! Arduino Uno nu este dotat cu FT232 sau CH340, ci cu ATMega16U2 , iar la pinul DTR (pinul 13 al ATMega16U2) s-ar putea sa ai acces mai greu, dar nu imposibil. decat sa-l trec prin logic analizor, mai bine cred ca prefer sa studiez codul sursa al bootloader-ului. daca ai un link ceva ar fi foarte bine, daca nu ramane sa sap pe net. @deejay2k1: link-ul tau pare interesant. la prima vedere e cam ceea ce vreau sa fac eu. trebuie sa studiez... "Arduino Uno nu este dotat cu FT232" - nu e o problema sa am acces, se poate pune un FTDI extern ...dar asta cred ca e pentru analizor, nu ? Ideea mea este ca as vrea sa imi fac o jucarie cu SD card si LCD, pun pe sd diferite HEX-uri, si urcat pe scara nu mai car laptop sa fac update de firmware la te miri ce senzor sau minune...facuta anterior in pozitii deocheate. Mi-am lasat la toate cate un port cu [Tx Rx RST GND +5V] Link spre comentariu
cimitavita Postat Aprilie 15, 2019 Partajează Postat Aprilie 15, 2019 nu o sa poti face update la firmware pe UART. Nu o sa te lase boot loaderul. Update la firmware se face numai pe SPI, JTAG sau paralel, unde inscrierea se face de la 0x000 si pana la capat. Inclusiv fuse. Dar o sa poti incarca programasele exact ca si cum le-ai incarca cu PC-ul din Arduino. Link spre comentariu
Vizitator Postat Aprilie 15, 2019 Partajează Postat Aprilie 15, 2019 (editat) Acum 9 ore, deejay2k1 a spus: vezi link-ul asta, poate te ajuta Este exact ce aveam nevoie. Va multumesc la toti pentru implicatie. Ramane sa studiez si eu codul, dar face exact ceea ce trebuie. Nota: Sunt fericit. Este prima data cand pot sa gasesc ceva de-a gata. Aproape Editat Aprilie 15, 2019 de Vizitator Link spre comentariu
rlodina Postat Aprilie 15, 2019 Partajează Postat Aprilie 15, 2019 1 hour ago, Aw Genetix said: Mi-am lasat la toate cate un port cu [Tx Rx RST .... Vezi (ca sursa de inspirație): jeelabs/esplink Link spre comentariu
Vizitator Postat Aprilie 16, 2019 Partajează Postat Aprilie 16, 2019 Sa nu mai deschid alt Topic. Stie cineva daca Arduino mega... e "legat" in bootloader strict de Tx0/Rx0 sau merge si pe alt serial..? Link spre comentariu
ratza Postat Aprilie 16, 2019 Partajează Postat Aprilie 16, 2019 Salut. Bootloaderul foloseşte liniile de TX/RX care duc spre convertorul USB-serial, indiferent dacă ultimul e cip dedicat sau controller care face asta. Cu alte cuvinte, te uiţi în schemă şi/sau în cod ca să vezi ce e folosit. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum