Küsimus:
Kuidas koostada, üles laadida ja jälgida Linuxi käsurea kaudu?
maxschlepzig
2015-09-08 00:13:34 UTC
view on stackexchange narkive permalink

Arduino Uno (üleslaadimine jne) liidestamine Arduino IDE-ga (Fedora paketti kasutades) töötab Fedora 21 all suurepäraselt.

Kuid ma tahan pigem kasutada režiimi vim + make + vim-quickfix-mode jne.

Kuidas seda teha?

Eelistatavalt Fedora hoidlatest saadaolevate tööriistade kaudu.

Eeldan, et IDE kutsub väliste käsurea utiliite üleslaadimine jne.

IDE seeriamonitoriga samaväärne on terminali emulaatori (nt ekraan ) ühendamine arvutisse / dev / ttyACM0 , eks?

Võib-olla on makefaili vaatamiseks mõni hea näidisprojekt?

Viis vastused:
Metamorphic
2016-06-02 12:24:09 UTC
view on stackexchange narkive permalink

Kasutan käsurea liidest käsule arduino .

Käivitan seda järgmiselt:

  arduino --upload sketch / sketch.ino --port / dev / ttyUSB *  

On leht, mis kirjeldab muid käsurea tööriistu, näiteks inotool . Sellel lehel on ka näide Makefile . Need alternatiivid tunduvad ahvatlevad, kuid ilmselt sellest kirjutamisest alates ükski neist ei toimi. Oletan, et see on tingitud Arduino IDE levitamisfailide hiljutistest muudatustest, millest need sõltuvad.

Ülaltoodud arduino käivitamine on natuke aeglane, kuna see peab Java-i laadima Vist, aga vähemalt töötab. Arduino IDE levitamisega kaasneb ka käsk arduino-builder . Sellest kirjutamisest alates polnud see piisavalt hästi dokumenteeritud, et saaksin aru saada, kuidas seda kasutada. Näiteks pole README'is ega üheski õpetuses, mida kohtasin, näiteid käsurida ja ma ei suutnud aru saada, kuidas seda koodi abil tahvlile üles laadida. Kuid arvatavasti suudab see anda meile kiirema kompileerimise kui arduino . README mainib ka võimalust eelmises kompileeritud objektifaile taaskasutada, nii et seal on mõned sarnased funktsioonid.


Seeriaväljundi vaatamiseks kasutan midagi sellist

  stty -F / dev / ttyUSB * 1000000 toores -clocal -echocat / dev / ttyUSB *  

Number 1000000 peaks ühtima numbriga, mille edastate Serial.begin () oma parda koodis. Võite kasutada screen ka siis, kui teil on sobiv interaktiivne tahvliprogramm või saate otse seadmesse kirjutamiseks kasutada mis tahes utiliiti. Muide, minu tähtaeg kuvatakse kui / dev / ttyACM0 (mitte Uno puhul / dev / ttyUSB0 ).

Veenduge, et teil oleks kataloogis üks fail `* .ino`, kuna see ei näi tingimata üles laadivat parameetriga` --upload` nimetatud faili.
Muutujat X11 DISPLAY ei määratud, kuid see programm sooritas operatsiooni, mis seda nõuab. Minule
Nick Gammon
2015-09-08 01:44:36 UTC
view on stackexchange narkive permalink

Ma soovitaksin Makefile'i projektide jaoks guugeldada. Tegin mõnda aega tagasi Blinki jaoks, vaadates põhimõtteliselt seda, mida IDE genereeris, ja korrates seda üldisemal viisil.

  ## Simple Arduino Makefile ## Autor: Nick Gammon # Kuupäev: 18. märts 2015 # kuhu installisite rakenduse Arduino gcc "CPP =" $ (ARDUINO_DIR) riistvara / tööriistad / avr / bin / avr-g ++ "AR =" $ (ARDUINO_DIR) riistvara / tööriistad / avr / bin / avr-ar "OBJ_COPY =" $ (ARDUINO_DIR) riistvara / tööriistad / avr / bin / avr-objcopy "MAIN_SKETCH = Blink.cpp # kompileerimismärgid g ++ ja gcc # jaoks võivad vajada nende muutmistF_CPU = 16000000MCU = atmega328p # compile flags sektsioonid -mmcu = $ (MCU) -DF_CPU = $ (F_CPU) L-MMD -DUSB_VID = null -DUSB_PID = null -DARDUINO = 106CPP_FLAGS = $ (GENERAL_FLAGS) -fno-erandidCC_FLAGS_LOGIS_FLAGS_LOGI_FL = $ (GENFIN = = (GENER) "-I $ (ARDUINO_DIR) riistvara / arduino / südamikud / arduino" " -I $ (ARDUINO_DIR) riistvara / arduino / variandid / standard "# library sourcesLIBRARY_DIR =" $ (ARDUINO_DIR) riistvara / arduino / südamikud / arduino / "build: $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (MAIN_SKET) -o $ (MAIN_SKETCH) .o $ (CC) $ (CC_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) avr-libc / malloc.c -o malloc.co $ (CC) $ (CC_FLAGS) $ (INCLUDE_FILES) $ ( LIBRARY_DIR) avr-libc / realloc.c -o realloc.co $ (CC) $ (CC_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) WInterrupts.c -o WInterrupts.co $ (CC) $ (CC_FLAGS) $ (INCLUDE_F $ (LIBRARY_DIR) juhtmestik.c -o juhtmestik.co $ (CC) $ (CC_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) juhtmestiku_analog.c -o juhtmete_analog.co $ (CC) $ (CC_FLAGS) $ (INCLUDE_FILES) $ LIBRARY_DIR) juhtmestiku_digital.c -o juhtmestiku_digital.co $ (CC) $ (CC_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) juhtmestiku_pulse.c -o juhtmestiku_pulse.co $ (CC) $ (CC_FLAGS) $ (INCLUDE_BIL wiring_shift.c -o wiring_shift.co
$ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) CDC.cpp -o CDC.cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) RiistvaraSerial.cpp -o Riistvara .o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) HID.cpp -o HID.cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) IPAddress.cpp -o .cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) main.cpp -o main.cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) new.cpp - o new.cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) Print.cpp -o Print.cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) voog. cpp -o Stream.cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) Tone.cpp -o Tone.cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) USBCore.cpp -o USBCore.cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ (LIBRARY_DIR) WMath.cpp -o WMath.cpp.o $ (CPP) $ (CPP_FLAGS) $ (INCLUDE_FILES) $ ( RAAMATUKOGU_DIR) WString.cpp -o WString.cpp.o rm core.a $ (AR) rcs core.a ma lloc.co $ (AR) rcs core.a realloc.co $ (AR) rcs core.a WInterrupts.co $ (AR) rcs core.a juhtmestik.co $ (AR) rcs core.a wiring_analog.co $ (AR ) rcs core.a juhtmestiku_digital.co $ (AR) rcs core.a wiring_pulse.co $ (AR) rcs core.a juhtmestiku_shift.co $ (AR) rcs core.a CDC.cpp.o $ (AR) rcs core. a RiistvaraSerial.cpp.o $ (AR) rcs core.a HID.cpp.o $ (AR) rcs core.a IPAddress.cpp.o $ (AR) rcs core.a main.cpp.o $ (AR) rcs core.a new.cpp.o $ (AR) rcs core.a Print.cpp.o $ (AR) rcs core.a Stream.cpp.o $ (AR) rcs core.a Toon.cpp.o $ (AR ) rcs core.a USBCore.cpp.o $ (AR) rcs core.a WMath.cpp.o $ (AR) rcs core.a WString.cpp.o $ (CC) -Os -Wl, - gc-jaotised -mmcu = $ (MCU) -o $ (MAIN_SKETCH) .elf $ (MAIN_SKETCH). o core.a -lm $ (OBJ_COPY) -O ihex -j .eeprom --set-section-flags = .eeprom = jaotamine, load - no-change-warnings --change-section-lma .eeprom = 0 $ (MAIN_SKETCH) .elf $ (MAIN_SKETCH) .eep $ (OBJ_COPY) -O ihex -R .eeprom $ (MAIN_SKETCH) .elf $ ( MAIN_SKETCH) .hex  

Peaksite vähemalt muutma ARDUINO_DIR , et kajastada IDE installimise kohta. Kui kasutate muid asju, näiteks Wire'i teeki, peate seda täiendavate teekide koostamiseks mõnevõrra laiendama. Jällegi saate muudatuste suunamiseks kasutada seda, mida IDE ise genereerib.

Ülaltoodud eesmiste tühikutega read vajaksid tühikute asemel märki tab , nagu on tavaline Makefile.

Kasuks tuleks ka make-faili üleslaadimise sektsioon, mille abil saaks kompileeritud visandi arduinosse üles laadida (kasutades avr-dude).
Sellest oleks kindlasti kasu. Kuid kuna IDE on siiani minu koostamis- ja üleslaadimisvajadused rahuldanud, ei ole mul tugev motivatsioon seda välja töötada. :)
Lihtsama lahenduse leidmiseks vaadake metamorfset vastust
Majenko
2015-09-08 00:40:23 UTC
view on stackexchange narkive permalink

Vaja on Makefile'i. Arduino jaoks on mõned Makefile'i projektid. "Arduino Makefile" guugeldamine annab palju tulemusi, sealhulgas Githubis hea välja nägemine: https://github.com/sudar/Arduino-Makefile

Käsust koostamine rida pole triviaalne Arduino IDE teekide käsitsemise tõttu.

IDE seeriamonitoriga samaväärne on ilmselt terminali emulaatori (nt ekraani) ühendamine / dev / ttyACM0-ga, eks?

Seeriamonitori jaoks soovitaksin minicomi. See on käsureal täielikult toimiv terminalimulaator (vt102).

  minicom -D / dev / ttyACM0 -b 115200  

... jaoks näide.

See Makefile on sisuliselt aktsepteeritud vastuse hooldatud versioon. GitHubis on ka malliprojekt, mis näitab, kuidas seda seadistada: https://github.com/ladislas/Bare-Arduino-Project
Pavel Milanes Costa
2018-05-08 22:16:40 UTC
view on stackexchange narkive permalink

Kui soovite oma arduino projekti jaoks täielikult ühilduvat lahendust (jah, saate oma projekti jagada teistega, kes kasutavad lihtsalt tavalist Arduino IDE-d), peate kliendi lihtsustamiseks märkima tööriista amake Arduinost kasutan seda koos Geanyga, kuid teised kasutavad seda vi, Atomi jms abil.

See on inspireeritud ning nüüdseks surnud Ino ja Arturo projektid; palun võtke selle testimiseks 5 minutit ja andke tagasisidet.

Kasutamise näide:

  cd ~ / Arduino / Blink / [liikuge oma arduino projekti kausta] amake -v uno Blink.ino [koodi kompileerimiseks / kinnitamiseks] amake -u uno Blink.ino / dev / ttyUSB0 [koodi üleslaadimiseks USB kaudu ühendatud arduinosse]  

Sellel on mõni nutikas liimige sinna sisse, see mäletab tahvlit ja faili ning tuvastab isegi tahvli usb; nii et pärast edukat käsku "amake -v" saate seda teha käsureal ja see töötab.

  amake -v [koodi kompileerimiseks / kinnitamiseks] amake -u [üleslaadimiseks oma kood USB-ühenduse kaudu ühendatud arduinole]  

Kui kasutate mõnda IDE-makrot, saate kompileerimise ja üleslaadimise käsud hõlpsalt koostada, näiteks Geany IDE-ga saab see:

  • Koosta / kinnita: cd% d; amake -v uno% f
  • Laadi üles: cd% d; amake -u uno% f

Saate rohkem abi, kui käivitate lihtsalt installimise korral "amake" või "amake -h".

Samuti võib see toetada KÕIK pardal / lib / programmeerija, mille olete oma Arduino IDE-sse installinud / konfigureerinud, jah, tänapäevane tahvel nagu Adafuit Trinket M0 / Arduino M0 jne ... minge tahvlihalduri juurde, installige tugi ja see on kõik, järgige lihtsaid juhiseid ja teie olete valmis.

Teie tahvlit ei toetata? pole probleem, tuvastage fqbn (lugege faili README.md) ja edastage see tahvli nimena.

Otsin testijaid, et üles kasvatada arvu või tahvli varjunimesid ja automaatselt tuvastada korralikud USB-allkirjad.

Pidage meeles, et see on privaatne täiskasvanud tööriist, mida jagatakse nüüd avalikkusega, teate, lihtsalt programmeerija kraabib seda sügelema ...

Tervist.

Madacol
2019-11-14 04:40:04 UTC
view on stackexchange narkive permalink

Ametlik CLI-tööriist

Arduino meeskond töötab välja cli klienti https://github.com/arduino/arduino-cli

Teadaanne : https://blog.arduino.cc/2018/08/24/announcing-the-arduino-command-line-interface-cli/

Sellega saate teha peaaegu kõike alates tahvlite ja teekide allalaadimisest kuni skriptide kompileerimise ja üleslaadimiseni. Puudu on jälgimisosa (saate kasutada Metamorphicu meetodit, kasutades stty cat , see töötab!)

Käsud on väga sarnased Metamorphicu vastusega, kuna see tööriist on sellest hargnev.

Juhised Githubi repos ja manulehel:

  $ arduino-cli Arduino käsurea liides (arduino-cli). Kasutamine: arduino-cli [käsk] Näited: arduino <command> [lipud ...] Saadaval olevad käsud: pardal Arduino pardal olevad käsud. koostada Koostab Arduino visandeid. config Arduino seadistuskäsud. põhilised Arduino põhitoimingud. abi Abi mis tahes käsude kohta lib Arduino käskude kohta. visand Arduino CLI Sketch Commands. üleslaadimine Laadi üles Arduino visandid. versioon Näitab Arduino CLI versiooni numbrit.  


See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...