forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
TI58 tiny - replika kalkulátoru TI-58 s ATmega8

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> AVR
 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 407
Bydliště: Praha, Most

PříspěvekZaslal: 03 březen 2020, 1:22    Předmět: TI58 tiny - replika kalkulátoru TI-58 s ATmega8 Citovat

Zkusil jsem vytvořit obdobu starších kalkulátorů - konkrétně repliku kalkulátoru TI-58C - s novodobějším procesorem, ATmega8. Podle odhadu by mohl mít přiměřenou velikost pamětí pro daný účel. Bohužel jsem se dostal jen na 90% práce na firmware, narazil jsem na zaplnění paměti ROM a nedokázal tam vměstnat celý potřebný kód. Převést kód na větší procesor jsem nechtěl, protože kód v assembleru se už stával nepřehledný, a tak budu dál pokračovat raději v C s větším procesorem, v nové koncepci.

Kalkulátor je použitelný jen jako kalkulátor, není funkční programování. Přesto ale má replika zajímavé vlastnosti, jako běžný kalkulátor - počítá s přesností 19 platných číslic, exponent 4 číslice, 60 paměťových buněk. Proto zde uvádím popis kalkulátoru, mohl by být někomu užitečný. Např. využít float knihovny v assembleru AVR.

Upozorňuji že konstrukci jsem odbyl jen jako nejnutnější, abych si vyzkoušel tvorbu firmware, tj. napájení je z USB, tlačítka bez hmatníků, nevhodná krabička a potisky "upatlané". Řešil jsem jen software, ne hardware.

http://www.breatharian.eu/hw/ti58/index.html

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1536

PříspěvekZaslal: 19 březen 2020, 16:08    Předmět: Citovat

Odhadom, súvislým prechodom na Atmega168 alebo 328, by mali byť všetky vlastnosti programovania v ASM zachované.
Pinovo sú plne kompatibilné.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 407
Bydliště: Praha, Most

PříspěvekZaslal: 19 březen 2020, 16:25    Předmět: Citovat

Ano, zřejmě tento projekt k tomu dospěje, že by mohl být dokončený s ATmega168. Jen už to nebude tak vtipné jako nacpat to do ATmega8. Smile

Teď pomalu dokončuji variantu TI-59 s ATmega644p, ale v C. Kód je 4x větší a stejně tak pomalejší (výsledná rychlost srovnatelná s originálním TI), ale alespoň je dokončení reálnější. Možná pak poslouží jako vzor k dokončení rychlejší a úspornější ASM varianty.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 966

PříspěvekZaslal: 20 březen 2020, 9:08    Předmět: Citovat

Ono obcas treba rozmyslat pri programovani v Cku. Aby preklad bol pouzitelnejsi. Sice to obcas nejde, alebo kod v c vyzera všelijako. Na druhej strane pre vypoctoch co su na kalkulacke, sa to velm8 vylepsit nebude dat.
Zase 4x vecsi kod sa mi zda dost.
V c9m to robis?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 407
Bydliště: Praha, Most

PříspěvekZaslal: 20 březen 2020, 10:52    Předmět: Citovat

Ve WinAvr. Ten rozdíl mezi C a ASM verzí je především v metodě. ASM verze je dost optimalizovaná podle vzoru kódu ZX Spectrum (makro kód, důsledné používání všech registrů). Ale C verze je psaná obecně - nejen aby byla nezávislá na procesoru, ale aby float knihovna měla konfigurovatelnou přesnost (arbitrary, navíc kompatibilní s IEEE formátem, který není sw implementaci moc nakloněný) - kvůli tomu, protože je to příprava pro následující verzi kalkulačky s ARM procesorem a podstatně vyšší přesností. Takže ten poměr 4x větší i pomalejší je asi tak přiměřený.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1536

PříspěvekZaslal: 20 březen 2020, 12:18    Předmět: Citovat

Akú optimalizáciu používaš?
Používaš -oS alebo -o3?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 407
Bydliště: Praha, Most

PříspěvekZaslal: 20 březen 2020, 13:17    Předmět: Citovat

U ATmega používám nejčastěji -Os, optimalizace na velikost, bývá spíš problém s pamětí než s rychlostí. Ale stejně to nezmáčkne až tak moc jak by mohl, např. vkládá funke jako inline, musí se mu i tak ještě dost domlouvat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> AVR Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2020 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)