[elektro] ARM megint
hg12345
hg12345 at freemail.hu
Fri Sep 20 14:36:10 CEST 2013
Hi,
Az ARM utasítás készlete a ARM7 óta ismeri a 16 bites széles THUMB utasításokat, ( 8regiszter cimezhető. és a LR, PC, SP (nek megfelelő felső regiszterek), vagyis hasonló utasítás mérettel tud dolgozni.
A M3/M4 teljesen és a M0(+) részlegesen implementált a THUMB2 ezt már ne kérdez valami kiegészítés az utasítás mezöhöz.
Nem ismerem nagyon az AVR utasítás készletet (PIC24 próbáltam elötte), de itt a müvelet mindig 32 bites arítmetikával dolgozik és Load/Store utasításban adják meg a memória hozzáférést, ez egyben el is végzi a 32-re való illesztést. A M3/4 esetén jelentős a relativ cimzési átfogás, igy célszerű mindent strukturákba tenni, mert csak egy regisztert foglal a többi mind index relativ cimzésű, a eltolás számítás elég gyors. Igy gyorsan és tömeren adható át programoknak az adatok...
M3/M4-ben van bitszelet cimzés is, de az igazi ATOMIC utasításokat (semaforok és flag-ek) kezelését leginkább HW támogatással oldják, meg a memória bitjeinek egy más 32bites cimtérbe való (fizikai/virtuális) transzformálásával.
A fordító nem jobb mint más, de van rá GCC, igy kipróbálható mind két környezetben ugyan az a kódot.
Az optimalizálás ?! tapasztalatom O0 képest O2 + Ospace maximum 30% jelenthet, de ebben már benne van a microlib és a linker szintű optimalizálás is. Persze ez kódolástól is függ, ha valaki nagyon lazán nyomja lehet ez még nagyobb is :-()
Egyébbként a reklámok ennél sokkal nagyobbról optimalizációról írnak , nekem még nem sikerült.
A M0/M0+ a nagyon olcsó belépő eszközök, kisebb kód sürüséggel és picit lassabban, minimális silicon területtel
M3/M4 nagyobb kódsürüség és emiatt és egyébb okokból gyorsabb
M4 és M4FP kiegszitve egy DSP utasítás készlettel, amit a CMSIS támogat, könnyű használni, néhány makró
Valószínüleg két 12Kgate és 30Kgate terület a legkisebb része a chipnek, igy egyre kisebb lehet az emiatti árkülönbség a két variáns között...
Az eseted a legkönyebb az ATMEL gyártja a M0+ és M3 magokkal az ARM variánsaít, nem kell semmít csinálni csaka Studio6 környezetben D20 (M0+)-ra fordítani a C kódot, ez eredményt egyből látod, SAM3 (M3) ill SAM4 (M4) -re,. igy mindent összehasonlithatsz, Ráadásúl ez teljesen ingyenes és legális!
"Moravcsik Szilárd" <mszilard at contarex.hu> írta:
>Szia!>
>
Azt írod:>
>
> a KEIL fejlesztő rendszer 32K ingyenes, a fenti eszközöket ismeri,>
> és minden tud amit a debugokkal ellehet érni. 32K elég sok ami egy>
> 8 biten elfér az itt is, még C-ben is....>
>
Az ARM utasításai ilyen hatékonyak (na meg a C fordító is jól >
optimalizál)? Mert ugye az Atmel AVR a maga 16 bit széles utasításaival >
fele az ARM 32 bites utasítás szélességének, azaz olyan a 32kByte ARM >
flash terület, mintha 16kByte AVR flash terület lenne helyfoglalásilag. >
Vagy nem egészen így van?>
>
Üdv:>
Szilárd>
>
2013.09.19. 15:22 keltezéssel, hg12345 írta:>
> Szia,>
>>
> dipes nincs tudtomnal, de a belépő fejelsztő eszközök $10-$20 kategoria mind DIP-s kivitelű nyákon vannak, a debuggerrel egyűtt, vagy letörhető vagy nem kivitelben.>
>>
> Itthon a CHIPCAD tart a NUVOTON-ból, a FARNELL-től rendelhető NXP,ST és FREESCALE, ATMEL>
> Ha kintről tudsz rendelni a MOUSER és DIGIKEY nél igen nagy a választék.>
> Az OLIMEX eszközök között is vannak és a KOPOG Bt-től beszerezhetőek, de az OLIMEX nagyon sok helyen kapható a világban.>
>>
> Ha még nem kóstoltál bele a 3V-s világba, akkor első próbára a NOVUTON Mini51 (max 16K flash) vagy M052 (max 64K flash) sorozat jó, ezekből a legkisebb QNF 33 (32+1 középső) tokban mindenütt elférnek. A Mini51 ugyan lassú 24MHz, de nem kell hozzá az LDO-hoz külső kondi.>
>>
> 3V-s rendszerek esetén bőséges a választék, és egyedi darabokhoz a FDH Bp ingyen kihozza az 1db-t a FARNELL rendelésből.... :-)>
>>
> a KEIL fejlesztő rendszer 32K ingyenes, a fenti eszközöket ismeri, és minden tud amit a debugokkal ellehet érni. 32K elég sok ami egy 8 biten elfér az itt is, még C-ben is....>
>>
>>
> Skandar Graun <sgraun at gmail.com> írta:>
>> Tudnál esetleg típust mondani?>>
> Ha DIP-es lenne, még jobb.>>
>>>
>>>
> 2013. szeptember 19. 14:21 hg12345 írta, <hg12345 at freemail.hu>:>>
>>>
>>>>
>>>>
>> r3flow <nzoltan at freemail.hu> írta:>>
>>>>>>
>>>>>
>> On 2013-09-18 09:12, Horvath Janos wrote:>>>
>>> Pedig Őt is a hideg rázta, ha meghallotta, hogy PIC.>>>
>>> Szóval nehéz dönteni, adott feladatnál lehetne>>>
>>> összehasonlítást csinálni (ár/munkaóra/szívás az errata-k>>>
>>> miatt, fordító bugok stb.)>>>
>>>>>
>>>>>
>> Szerintem egyszerű dönteni. Egyedi fejlesztéseknél ami nem széria hanem>>>
>> 1 vagy pár darab oda kár vesződni 600 forintos PIC-el és 2 hét munkaidőt>>>
>> elpazarolni rá, mert a munkaidő nagyságrendekkel drágább. Ezért>>>
>> egyszerűbb ráállni még akár a majd 2 ezer forintos ARM-re is, és az>>>
>> összes kis darabszámú egyedi munkát arra építeni még akkor is, ha>>>
>> egyébként a negyedét sem használod ki, mert munkaidőben bőven megtérül.>>>
>> És marad tér annak is, ha a legvégén a megrendelő benyögi a "na még ezt>>>
>> a kicsit tegyük bele" ami a határon lévő 8 bitnél éppen teljes>>>
>> újratervezést jelentene.>>>
>>>>>
>> Amikor szériáról van szó ami sorozatgyártásba kerül, akkor lehet>>>
>> optimalizálni faragni lefelé az 1K ROM és 64 bájt RAM szintig vagy az>>>
>> alá, sok heti munkával.>>>
>>>>
>> Ma már ott tartanak a M0 maggal, hogy hasonló árban jobbat kapsz mint egy>>
>> pici 8 bites.... Még 5V-sban is :-)>>
>> akkor meg minek szenvedni a sorozatnál....., ja és ezekből a picik is>>
>> direkctben debuggolhatóak, nem kell hozzá másik fejlesztő darab....>>
>>>>
>>>>
>>>>>
>> Szerintem.>>>
>>>>>
>> ----------------------------------------->>>
>> elektro[-flame|-etc]>>
>>>>
>> ----------------------------------------->>
>> elektro[-flame|-etc]>>
> ----------------------------------------->>
> elektro[-flame|-etc]>>
>>
>>
> ----------------------------------------->
> elektro[-flame|-etc]>
>>
>
----------------------------------------->
elektro[-flame|-etc]
More information about the Elektro
mailing list