Jump to content
ELFORUM - Forumul electronistilor

Arduino programeaza alt Arduino


Guest

Recommended Posts

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..

Edited by Guest
Link to comment
  • Replies 14
  • Created
  • Last Reply

Top Posters In This Topic

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 to comment

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 to comment
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.

Edited by nico_2010
Link to comment
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.

@deejay2k1link-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 to comment

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 to comment
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 :)

Edited by Guest
Link to comment

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 to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines