Se afișează postările cu eticheta bootloader. Afișați toate postările
Se afișează postările cu eticheta bootloader. Afișați toate postările

vineri, 27 mai 2011

Bitlash versiunea 2.0

Pentru cei care nu s-au intalnit pana acum cu Bitlash: Bitlash este un shell si, in acelasi timp, un mediu de programare embedded simplu si usor de folosit pentru Arduino. Mai este si open source ;-)

De cand am postat ultima data s-au intamplat multe... versiunea 2.0 RC2 aduce imbunatatiri, schimba sintaxa, nu mai exista macro-uri, acum sunt functii pe care le salvam in EEPROM si care primesc argumente si intorc valori numerice, if are si else, apare si switch, au aparut functii precum bitclear, bitset, bitread, bitwrite, exista exemple pentru ceas, servere web si telnet etc.

Cel mai interesant mi se pare lucrul cu task-uri asincrone care se executa in fundal :)

Chiar ieri la Intalnirea Tehnorama cineva avea nevoie sa citeasca patru intrari analogice si una digitala si sa activeze patru iesiri digitale, independen, un anumit numar de secunde... Evident ca folosirea delay() era total neadecvata. Bitlash ar fi fost solutia ideala pentru un asemenea caz.

In imaginea de mai jos putem vedea:
1. un mic HELP
2. o functie, toggle13, care stinge sau aprinde LED-ul de pe pinul 13
3. utilizarea ei din 500 in 500 milisecunde ( RUN )
4. process status ( PS )
5. oprirea procesului ( STOP )
6. listarea functiilor salvate in EEPROM ( LS )
7. stergerea functiei din EEPROM ( RM )
8. alte doua functii, f1 si f2
9. rularea lor cu timpi diferiti

marți, 30 noiembrie 2010

Bitlash - un alt shell pentru Arduino

Bitlash este un shell si, in acelasi timp, un mediu de programare embedded simplu si usor de folosit pentru Arduino. Mai este si open source ;-)

Bitlash ruleaza pe Arduino si accepta multe dintre functiile obisnuite pe care le gasim in documentatia Arduino.

Moduri de lucru cu Bitlash:
1. Comenzile se pot introduce si interpreta interactiv, cu ajutorul "Serial Monitor" din IDE-ul Arduino (vezi observatiile de mai jos), sau cu un program gen "Hyperterminal".
2. Mai interesant, pot fi salvate secvente macro in EEPROM si le putem rula oricand dorim, inclusiv la boot-area placii!
3. Si mai interesant, functiile built-in ale Bitlash pot fi apelate din propriile sketch-uri, adaugand biblioteca aferenta!!
4. Inca si mai interesant, putem adauga propriile noastre functii la biblioteca Bitlash, cu ajutorul addBitlashFunction()!!!


Sketch-ul demo incarcat pe un Arduino 2009 cu bootloader-ul normal


Sketch-ul demo incarcat pe un Arduino 2009 cu bootloader-ul Optiboot... de remarcat diferenta de spatiu liber ramas...


Cateva comenzi simple


HELP! :D

Documentatia este destul de mare, asa ca nu mai intru in alte amanunte.

Observatii:
- daca utilizati "Serial Monitor" din kit-ul Arduino pentru comunicare, fiecare comanda trebuie finalizata cu tasta apostrof "`" aflata in general pe tastatura sub Escape, in stanga sus, inainte de cifra 1;
- ocupa mult loc... dar cred ca merita ;-)
- am incercat mai de mult biblioteca inclusa in kit-ul Arduino Firmata, prefer totusi Bitlash...

luni, 31 mai 2010

Bootloader optimizat pentru Arduino

Cei care prefera sa foloseasca bootloader-ul standard de pe placile Arduino stiu ca acesta ocupa destul de mult. Un bootloader optimizat, care ne lasa mai mult spatiu pentru programe, gasim aici: Optiboot. Pentru instalarea bootloader-ului avem nevoie de un programator ISP sau de inca o placa Arduino.

Allows larger sketches. Optiboot is a quarter of the size of the default bootloader, freeing 1.5k of extra space.
Makes your sketches upload faster. Optiboot operates at higher baud rates and has improved programming logic.
Adaboot performance improvements. Optiboot runs your sketches sooner.
Compatible with 168 and 328 Arduinos including Lilypad, Pro, Nano



Cu optiboot v3


Cu bootloader-ul standard

In cazul unei placi cu 168 realizam o economie de 1KB, adica 6.25% mai mult spatiu pentru programe!





In cazul unei placi cu 328 realizam o economie de 1.5KB, adica 4.69% mai mult spatiu pentru programe!

Diverse probleme la instalare am vazut pe blogul de unde am aflat si eu de acest bootloader: Hack a Day. Eu l-am programat pe ISP si sub Windows si a mers din prima :)